ソフトウェアの開発と展開の複雑さが増すにつれ、軽量コンテナ化テクノロジーが新しいトレンドになっています。 Docker は現在最も人気のあるコンテナ テクノロジの 1 つであり、開発者により効率的かつ高速な作業方法を提供すると同時に、企業にはより柔軟で信頼性の高い展開ソリューションを提供します。この記事では、コンテナ化されたアプリケーションをより適切に管理できるように、運用環境に Docker をデプロイする方法を紹介します。
Docker をインストールする前に、サーバーのリソース割り当てとセキュリティ権限を管理する必要があります。 Ubuntu や CentOS などの主流の Linux オペレーティング システムを使用し、最新バージョンの Docker エンジンがサーバーにインストールされていることを確認することをお勧めします。
Docker のインストールは非常に簡単で、必要な手順はいくつかだけです:
1) 依存ツールをインストールします: apt-get update && apt-get install -y apt-transport-https ca-certificatescurlソフトウェア - プロパティ - 共通。
2) Docker の公式 GPG キーをインポートします:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -。
3) Docker リポジトリを追加します: add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs)steady"。
4) Docker をインストールします: apt-get update && apt-get install -y docker-ce。
インストールが完了したら、docker コマンドを使用して、Docker が正常に実行されているかどうかをテストできます。たとえば、docker version コマンドを実行して、Docker のバージョン情報を確認します。
Docker をインストールした後、Docker がより適切に動作するように、基本的な構成を行う必要があります。
現在の主流の Docker CLI は、通信に Unix ドメイン ソケットを使用します。デフォルトでは、docker コマンドを実行するユーザーを docker ユーザー グループに追加すると、Docker デーモンと対話できるようになり、sudo コマンドの使用が回避されます。
Docker を構成するときは、次の点にも注意する必要があります。
1) Docker 構成ファイルを更新します。
Docker のデーモンは、次のように /etc/docker/ を読み取ります。デフォルトの daemon.json ファイルを使用して構成情報を取得します。ファイルを開いて、次のような必要な構成を追加します。
{
"registry-mirrors": ["https://url-of-mirror"],
"max-concurrent- downloads" : 5,
"debug": true,
"log-driver": "syslog",
"log-opts": {
"syslog-address": "tcp:/ /192.168 .0.0:111",
"tag": "prod"
}
}
その中で、レジストリ ミラーは、より高速な Docker ミラー アクセラレータ ソースを構成するために使用されます。 concurrent-downloads は同時にダウンロードするイメージの最大数を指定するために使用され、debug と log-driver は Docker のデバッグ ログを有効にして syslog ログ ファイルに出力するために使用されます。
2) Docker ストレージ ディレクトリを設定します
Docker はデフォルトで /var/lib/docker ディレクトリに保存されます。Docker ストレージを変更することで、Docker ファイル システム ストレージとストレージをより適切に管理できます。パス、データボリューム。リダイレクトを使用してデーモン構成ファイルを開き、次の行を追加します:
{
"data-root": "/mnt/data/docker"
}
/data最初に /docker/ ディレクトリを手動で作成する必要があり、実際のデプロイ状況に基づいて適切なストレージ パスを選択する必要があります。
Docker では、Dockerfile ファイルを使用して、アプリケーションの環境とそのデプロイ方法を定義できます。 Dockerfile は、デプロイするアプリケーションの Docker イメージを構築する方法を指定する一連の命令で構成されるテキスト ファイルです。
Dockerfile ファイルの作成プロセスでは、FROM、RUN、COPY、EXPOSE、ENV、CMD、およびその他の命令を使用して、完全な Docker イメージを構築できます:
FROM ubuntu:18.04
RUN mkdir /app
COPY . /app
WORKDIR /app
CMD python app.py
上記の Dockerfile スクリプトはベース イメージとして Ubuntu 18.04 を使用し、/app ディレクトリを作成します、ローカル コード Copy を /app ディレクトリに追加し、最後に作業ディレクトリを /app に設定して、Python app.py スクリプトを実行します。
次のように docker build コマンドを使用して Docker イメージをビルドします。
docker build -t myapp:latest .
バージョン タグを使用して宣言することをお勧めします。 Dockerfile のバージョン番号 (例: FROM ubuntu :18.04 AS build)。
Docker イメージを構築したら、それをイメージ ウェアハウスに公開して、アプリケーションをどこにでもデプロイできるように準備する必要があります。 Docker Hub はパブリック Docker イメージ リポジトリですが、プライベート Docker レジストリを使用してプライベート Docker イメージを保存できます。
Docker イメージをイメージ ウェアハウスにプッシュするには認証が必要です。具体的な方法は次のとおりです:
1) Docker ログイン コンソールを初期化します: docker ログイン レジストリ名。
2) Docker Hub またはプライベート Docker レジストリで使用するユーザー名とパスワードを入力します。
3) イメージを公開します: docker Push registry-name/myapp:latest。
これで、他の場所で使用できるように Docker イメージを Docker レジストリにプッシュすることができました。
Docker コンテナを使用して Docker イメージを実行する場合、次のコマンドを使用できます:
docker run -- name myapp -p 127.0.0.1:80:80 -d myapp:latest
このうち、 --name パラメータは Docker コンテナの名前を指定し、 -p パラメータはコンテナがバインドされるホスト ポートを指定し、 -d パラメータはコンテナがバックグラウンドで実行されていることを示します。 myapp:latest は、Docker レジストリにプッシュされたばかりの Docker イメージです。
アプリケーションを Docker コンテナにデプロイした後は、管理する必要があります。 docker ps、docker logs、docker stop、docker rm およびその他のコマンドを使用して、Docker コンテナーを管理できます。
具体的な操作方法は次のとおりです。
1) 現在実行中の Docker コンテナを表示します: docker ps -a。
2) 指定された Docker コンテナーのログを表示します: docker logs myapp。
3) 指定された Docker コンテナを停止します: docker stop myapp。
4) 指定された Docker コンテナー docker rm myapp を削除します。
Docker デプロイメントは、実稼働環境における重要なタスクです。 Docker をインストールし、その基本操作を構成した後、Docker イメージを構築し、Docker レジストリに公開する必要があります。最後に、Docker コンテナを使用してアプリケーションを実行し、管理し、監視します。以上、本記事では本番環境にDockerをデプロイする方法を詳しく紹介しましたので、ご参考になれば幸いです。
以上が実稼働環境に Docker をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。