16週目ドックステーション

3145 ワード


Docker


ドッキングステーションのインストール


UbuntuユーザーDocker Engineインストールガイド
Docker Compose

なぜDocker?


プライマリキーキーキー


コンテナ。


アプリケーション自体を分離された空間にカプセル化し、プロセスをアプリケーションの依存関係で実行する技術.
「ドッキングステーション」と呼ばれるテクノロジーではなく、依存性、ネットワーク環境、ファイルシステム上でアプリケーションを実行できるアプリケーション・ボックス.

イメージ


ドッキングステーションは、サービスを実行するために必要なサーバプログラム、ソースコード、ライブラリ、およびコンパイルされた実行可能ファイルを組み合わせた形式をDocker Imageと呼びます.特定のプロセス(コンテナの作成(コンテナの実行)を実行するために必要な)すべてのファイルと設定値があることは、依存ファイルのコンパイルやインストールが不要になることを意味します.

レジストリ


画像はレジストリに格納されます.代表的なイメージレジストリはDocker Hub、Amazon ECR.DOKER CLIで画像を使用してコンテナを作成する場合、ホストに画像がない場合は、デフォルトのレジストリからダウンロードされます.

コンテナ方式の利点

  • 依存性衝突問題解決
  • 開発と導入環境が一致
  • 水平拡張しやすい
  • サーバごとに新しいコンテンツの導入を容易にする
  • コンテナ。


    コンテナ・テクノロジーに基づくコンピュータには複数のコンテナが存在し、アプリケーションの実行環境が分離されます.
    各コンテナがアプリケーションの実行に関連する高レベルの分離を提供するため、1台のコンピュータに異なるバージョンのphpをインストールできます.

    コントローラから独立したリソース。

  • フロー
    特定のコンテナで実行されるプロセスは、基本的にそのコンテナにのみアクセスできます.
    コンテナ内で実行されるプロセスは、他のコンテナ内のプロセスに影響を与えることはできません.
  • ネットワーク
    デフォルトでは、1つのコンテナにIPアドレスが割り当てられます.
  • ファイルシステム
    コンテナ内で使用されるファイルシステムはパーティション化されています.したがって、コンテナ内のコマンドまたはファイルへのアクセスを制限できます.
  • コンテナテクノロジーの最大の利点は、稼働環境のマッチングです.より多くのトラフィックによりサーバが増加し,コンテナ技術は非常に活発な応用を得た.同じアプリケーション構成(イメージ)に基づいてアプリケーションをコンテナとして新しいサーバに実行し、ロードバランサに追加するだけです.(AWSでもサーバが自動的に作成され削除されます!)
    これらのテクノロジーを使用すると、複数のサーバで新しいバージョンのアプリケーションを実行してテストすることもできます.これにより、新しいバージョンのアプリケーションで発生する可能性のある問題を事前に特定し、ユーザー全体に影響を与えないことを確認できます.

    Docker CLI



    レジストリからhttpをダウンロードdocker pull httpdダウンロードした画像の一覧を表示dockr images現在実行中のコンテナのリストを表示docker psコンテナリストを作成したすべてのチェックdocker ps -ahttpdに基づいてhttpdserverというコンテナを作成するdocker run --name httpdserver httpd-dオプションでは、コンテナをバックグラウンドで実行できます.-dex) docker run --name 컨테이너_이름 -d -p 3000:80 sebcontents/part1

    docker-compose


    docker composeは、複数のdockerを定義および実行するツールです.したがって、YAML(YML)ファイルを使用して複数のdocker内部属性を設定し、一度に実行します.dockerをデプロイとして実行するようにします.
    ドッキングコマンドをファイルとして管理することで、複雑なドッキングコンテナとドッキングネットワークの構築が容易になります.
    1つのdocker-composeで管理されるコンテナ間は、同じdockerネットワークによって駆動されます.
    version: '3.8'
    
    services:
      nginx:
        image: sebcontents/client
        restart: 'always'
        ports:
          - "8080:80"
        container_name: client
    
      node:
        image: sebcontents/server
        restart: 'always'
        ports:
          - "5000:3000"
        container_name: server

    実行順序


    生成
  • yamlymlファイル.
  • yaml,ymlファイルに上記ソースファイルを記入する.
  • yamlファイルがある場所docker-compose up -dコマンドでyamlファイルを実行します.
  • localhost:8080または127.0.0.1:8080で実行されるクライアント画面をブラウザで表示します.