Docker installation on CentOS7
目次:
Docker Composeは、マルチコンテナDockerアプリケーションを定義および実行できるツールです。
Composeでは、アプリケーションのサービス、ネットワーク、およびボリュームを単一のYAMLファイルで定義し、単一のコマンドでアプリケーションをスピンします。
Composeは、単一ホストアプリケーションの展開、自動テスト、ローカル開発など、さまざまな目的に使用できます。
このチュートリアルでは、CentOS 7にDocker Composeの最新バージョンをインストールする方法を説明します。基本的なDocker Composeの概念とコマンドについても説明します。
前提条件
このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。
- sudo権限を持つユーザーとしてログインします。CentOS7システムにDockerをインストールします。
CentOSにDocker Composeをインストールする
CentOS 7にDocker Composeをインストールする推奨方法は、DockerのGitHubリポジトリからComposeバイナリをダウンロードすることです。
この記事を書いている時点では、Docker Composeの最新の安定バージョンはバージョン
1.23.1
です。 Composeバイナリをダウンロードする前に、GitHubのComposeリポジトリリリースページにアクセスし、ダウンロード可能な新しいバージョンがあるかどうかを確認してください。
次の手順を実行して、CentOS 7にDocker Composeをインストールします。
-
次の
curlコマンドを使用して、Docker Composeバイナリを/usr/local/binディレクトリにダウンロードすることから始めます。sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composeダウンロードが完了したら、次を入力してバイナリ実行可能ファイルを作成します。
sudo chmod +x /usr/local/bin/docker-composeインストールを確認するには、次のコマンドを入力して構成バージョンを印刷します。
docker-compose --version出力は次のようになります。
docker-compose version 1.23.1, build b02f1306
Docker Composeを使い始める
このセクションでは、Docker Composeを使用して、CentOS 7マシンでWordPressスタックを実行する方法を示します。
プロジェクトの新しいディレクトリを作成し、そこに移動することから始めます。
mkdir my_app && cd my_app
次に、プロジェクトディレクトリ内に
docker-compose.yml
という名前のファイルを作成します。
nano docker-compose.yml
次のコンテンツを貼り付けます。
docker-compose.yml
version: '3.3' services: db: image: mysql:5.7 restart: always volumes: - db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress wordpress: image: wordpress restart: always volumes: -./wp_data:/var/www/html ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password depends_on: - db volumes: db_data: wp_data:
コードを行ごとに分析しましょう。
最初の行は、作成ファイルのバージョンを指定します。 特定のDockerリリースをサポートするComposeファイル形式にはいくつかの異なるバージョンがあります。
次に、
db
と
wordpress
2つのサービスを定義しています。 各サービスは1つのイメージを実行し、docker-composeの実行時に個別のコンテナーを作成します。
db
サービス:
-
mysql:5.7イメージを使用します。 システムにイメージが存在しない場合、ComposeはDocker Hubパブリックリポジトリからイメージをプルします。コンテナに常に再起動するように指示する、always再起動するポリシーを使用します。名前付きボリュームdb_dataを作成して、データベースを永続化します。mysql:5.7イメージ。
wordpress
サービス:
-
wordpress画像を使用します。 システムにイメージが存在しない場合、ComposeはDocker Hubパブリックリポジトリからイメージをプルします。always再起動するようコンテナに指示する、always再起動ポリシーを使用します。ホストのwp_dataディレクトリを/var/lib/mysql内にwp_dataします。コンテナ:コンテナの公開ポート80をホストマシンのポート8080にdepends_onます。wordpressイメージの環境変数を定義しますdepends_on命令は、2つのサービス間の依存関係を定義します。 この例では、dbはwordpress前に開始されます。
プロジェクトディレクトリから、次のコマンドを使用してWordPressアプリケーションを起動します。
docker-compose up
出力は次のようになります。
… wordpress_1 | AH00163: Apache/2.4.25 (Debian) PHP/7.2.10 configured -- resuming normal operations wordpress_1 | AH00094: Command line: 'apache2 -D FOREGROUND'
Composeは両方のイメージをプルし、2つのコンテナーを開始して、プロジェクトディレクトリに
wp_data
ディレクトリを作成します。
ブラウザを開き、
http://0.0.0.0:8080/
/と入力すると、Wordpressのインストール画面が表示されます。
この時点で、WordPressアプリケーションが起動して実行され、テーマまたはプラグインで作業を開始できます。
作成を停止するには、
CTRL+C
押します。 環境変数作成モードをデタッチモードで開始する場合は、
-d
フラグを使用します。
docker-compose up -d
実行中のサービスを確認するには、
ps
オプションを使用します。
docker-compose ps
Name Command State Ports ---------------------------------------------------------------------------------- my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp my_app_wordpress_1 docker-entrypoint.sh apach… Up 0.0.0.0:8080->80/tcp
Composeをデタッチモードで実行してサービスを停止する場合:
docker-compose stop
コンテナを完全に削除するには、
down
オプションを使用
down
ます。
docker-compose down
--volumes
スイッチを渡すと、データボリュームも削除されます。
Docker Composeのアンインストール
sudo rm /usr/local/bin/docker-compose
結論
CentOS 7にDocker Composeをインストールして使用する方法を学習しました。
ドッカーセンターDebian 10 LinuxでDocker Composeをインストールして使用する方法
Docker Composeは、マルチコンテナDockerアプリケーションを定義および編成できるツールです。 このチュートリアルでは、Debian 10、BusterにDocker Composeをインストールする方法について説明します。
Debian 9でDocker Composeをインストールして使用する方法
Docker Composeは、マルチコンテナDockerアプリケーションを定義および編成できるツールです。 YAMLファイルを使用して、アプリケーションのコンテナー、ネットワーク、およびボリュームを構成します。
ubuntu 18.04にdocker composeをインストールして使用する方法
Docker Composeは、マルチコンテナDockerアプリケーションを定義および管理できるツールです。 YAMLファイルを使用して、アプリケーションのサービス、ネットワーク、およびボリュームを構成します。







