GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

CentOSにDockerComposeをインストールして使用する方法

Docker Composeは、サーバー上に複数のDockerコンテナーを簡単にデプロイするのに役立つシンプルなPythonプログラムです。

サービスの説明に単純なYAMLファイルを使用します。

長いdocker run . . . 行、あなたはただdocker-compose up -dを使うことができます 一度に複数のサービスを展開します。

このチュートリアルでは、CentOSサーバーにDockerComposeをインストールする方法を紹介します。また、DockerComposeを使用して特定の構成でNGINXサーバーをデプロイする簡単な例も示します。

CentOSにdocker-composeをインストールする

事前にDockerをインストールしておく必要があります。 Docker Composeをインストールする前に、CentOSシステムにDockerをインストールしてください。

docker-composeは、CentOSの公式リポジトリにもdockerのrpmリポジトリにもパッケージ化されていません。

LinuxにDockerComposeをインストールするには、次の2つの方法があります。

  • Docker Compose Linuxインストーラーファイルをダウンロードして、手動で設定します
  • PIPを使用してDockerComposeを簡単にインストールする

個人的には、PIPを使用してDockerComposeをインストールすることを好みます。 Docker Composeは基本的にPythonアプリケーションであるため、PIPを使用してインストールするのが理にかなっています。

方法を見てみましょう。

pip3をインストール

次のコマンドを使用してpip3をインストールします。

sudo dnf install python3-pip

docker-composeをpip3を使用してインストール

pipを使用してdocker-composeをインストールします

pip3 install --user docker-compose
パスを更新

pipはdocker-composeを~/.local/binにインストールします ディレクトリ。どこからでも実行できるように、PATH環境変数に追加する必要があります:

echo 'PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

zshを使用している場合 、.bashrcを変更します .zshrcへ 。

完了したら、ソースコマンドsource ~/.bashrcを使用します または、ターミナルを再度開きます(サーバーの場合は、ログアウトしてから再度ログインします)。

次のコマンドを使用して、docker-composeがインストールされていることを確認します。

[email protected]:~$ docker-compose --version
docker-compose version 1.26.2, build unknown

おめでとう!これで、CentOS8サーバーにdocker-composeがインストールされました。

それをテストしてみませんか?この簡単なチュートリアルに従って、DockerComposeの使用方法を学びます。

docker-composeを使用してサンプルnginxサーバーをデプロイします

Nginxは最も人気のあるWebサーバーの1つであり、Dockerを介して簡単にデプロイできます。

作成方法と非作成方法を比較してみましょう

DockerComposeを使用せずにNginxをデプロイする

runを使用できます 次のようにnginxサーバーを簡単にデプロイするコマンド:

docker run --name server --network net -v html:/usr/share/nginx/html -v $PWD/custom-config.conf:/etc/nginx/nginx.conf -p 80:80 --restart on-failure -d nginx:latest

ここでは、外部ネットワーク「net」を使用してコンテナ名「server」のnginxサーバーをデプロイし、カスタム構成ファイルを使用して「html」という名前のボリュームをマウントし、ホストのポート80でリッスンします。失敗すると自動的に再起動します。

ここで問題を調べてみましょう:

事前にネットワークとボリュームを作成する必要があります

Dockerはネットワークとボリュームを自動的に作成しません。事前に作成する必要があります。

毎回書くにはオプションが多すぎる

書くにはあまりにも多くのオプションがあります。データベースコンテナ、リバースプロキシコンテナ、nextcloudコンテナなど、より複雑なコンテナの場合、これらのオプションは大きくなります。

開発環境

ビルドをテストしていて、コンテナーを停止した後にボリュームを保持したくない場合はどうなりますか?その後、ボリュームとネットワークを手動で削除する必要があります。

DockerComposeを使用したNginxのデプロイ

まず、作成ファイルを作成する必要があります。

「nginx-compose」という名前のディレクトリを作成し、そこにcdします:

mkdir nginx-compose && cd nginx-compose

「docker-compose.yml」という名前のファイルを作成し、次の行を追加します

version: "3.3"

services:
    server:
        image : "nginx:latest"
        container_name: "server"
        volumes:
            - "html:/usr/share/nginx/html"
            - "./custom-config.conf:/etc/nginx/nginx.conf"
        networks:
            - "net"
        ports:
            - "80:80"
        restart: "on-failure"

volumes:
    html:
networks:
    net:

この作成ファイルは、serverという名前のサービスについて説明しています。 、これにより、非構成方法で行ったのとまったく同じ構成でnginxサーバーがデプロイされます。以下を使用してデプロイします:

docker-compose up -d

docker-composeは、現在のディレクトリで「docker-compose.yml」という名前のファイルを探し、それを解析して、そこに定義されているサービスをデプロイします。

ここで、composeメソッドを使用して非composeメソッドの問題を確認しましょう:

  1. 事前にネットワークとボリュームを作成する必要はありません。docker-composeが自動的に作成します。各ボリューム/ネットワークでexternalをtrueに設定することで、外部ボリュームを追加できます。
  2. .yamlファイルを作成したら、大量のコマンドを書き留める必要はありません。このファイルは、docker-composeの最新バージョンがインストールされている他のサーバーにコピーでき、期待どおりに簡単に実行できます。
  3. docker-compose down -vを使用できます コンテナだけでなく、docker-composeが作成したすべてのネットワークとボリュームも停止および削除するコマンド。これは、開発/テスト環境でのクリーンアップに役立ちます。

docker-compose over docker runを使用することには、他にも多くの利点があります。 、特に本番環境では、今日の記事の範囲外です。

そのようなものを見たい場合は、下のコメントセクションで私に知らせてください。このようなその他のガイドについては、Dockerシリーズに注目してください。


Docker
  1. CentOS7にTensorFlowをインストールして使用する方法

  2. CentOS7にDockerComposeをインストールする方法

  3. Ubuntu18.04にDockerComposeをインストールして使用する方法

  1. CentOS7にDockerをインストールして使用する方法

  2. CentOS7にDockerComposeをインストールして使用する方法

  3. CentOS8にCurlをインストールして使用する方法

  1. Debian9にDockerComposeをインストールして使用する方法

  2. Debian10LinuxにDockerComposeをインストールして使用する方法

  3. Dockerをインストールして使用する方法-CentOS7で作成する