Docker-Composeコマンドの使い方の詳しい説明

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使用したり、多数の GUI ツール (Web ベースとデスクトップ クライアントの両方) のいずれかを使用したり、docker-compose ルートを使用したりできます。

Docker Compose とは何ですか? Docker Compose は、コンテナとコンテナ間の接続を作成するために使用されます。ただし、docker-compose コマンドは実際にははるかに多用途です。このコマンドを使用して、イメージの構築、コンテナのスケーリング、コンテナの修復、コンテナの出力の表示、コンテナのパブリック ポートの一覧表示などを行います。

では、docker-compose はどのように使用するのでしょうか? 見てみましょう。

Docker Compose をインストールするにはどうすればいいですか?

サーバーに Docker がすでにインストールされている場合でも、Docker Compose はインストールされていない可能性があります。 Docker Compose をインストールするには、次のコマンドを実行します。

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 バージョン

いくつかのアプリケーションのバージョン番号が表示されます (図 A)。

図 A. Docker Compose がインストールされ、準備完了です。

Dockerファイル

コンテナをデプロイするために、Docker Compose は docker-compose.yml ファイルに依存します。このファイルは、Docker コンテナを特定の環境にデプロイするために使用されます。 WordPress コンテナをデプロイするとします。まず、次のコマンドを使用して新しいディレクトリを作成します。

mkdir ~/wordpressbuild

次のコマンドでこの新しいディレクトリに移動します。

cd ~/wordpressbuild

次のコマンドで新しい Docker Compose ファイルを作成します。

ナノ docker-compose.yml

次のコンテンツ (公式の Docker Compose ドキュメントから取得) をファイルに貼り付けます。

バージョン: '3.3' 
 
サービス: 
  デシベル: 
   イメージ:mysql:5.7 
   ボリューム: 
    -db_data:/var/lib/mysql 
   再起動: 常に 
   環境: 
    MYSQL_ROOT_PASSWORD: ワードプレス 
    MYSQL_DATABASE: ワードプレス 
    MYSQL_USER: ワードプレス 
    MYSQL_パスワード: wordpress 
  
 ワードプレス: 
   依存: 
    -db 
   画像: wordpress:最新 
   ポート: 
    - 「8000:80」 
   再起動: 常に 
   環境: 
    WORDPRESS_DB_HOST: db:3306 
    WORDPRESS_DB_USER: ワードプレス 
    WORDPRESS_DB_PASSWORD: ワードプレス 
    WORDPRESS_DB_NAME: ワードプレス 
ボリューム: 
  データベースデータ: {}

ファイルを保存して閉じます。

ここで、次のコマンドを使用してプロジェクトをビルドし、コンテナをデタッチモードでデプロイします。

docker-compose を起動します –d

このコマンドは、必要なすべてのイメージ (この場合は MySQL と Wordpress) をダウンロードし、ポート 8000 にサービスをデプロイします。 Web ブラウザで http://SERVER_IP:8000 (SERVER_IP はホスティング サーバーの IP アドレス) にアクセスすると、WordPress インストール ページが表示されます (図 B)。

図B. WordPressインストーラー

デプロイメントを確認するにはどうすればいいですか?

デプロイメントからのログを検査するとします。これを行うには、次のコマンドを実行します。

docker-compose ログ

以前のデプロイメントからの多くの情報が表示されます (図 C)。

図 C. WordPress の Docker Compose デプロイメントからのログの表示

このコマンドは、多くの情報を出力します (特に、多数のコンテナがデプロイされている場合)。代わりに、ログ ファイルを表示するサービスを指定できます。どのサービス名を使用するかはどのようにしてわかりますか? docker-compose.yml ファイルを確認してください。この例では、2 つのサービスがあります。

  • db: データベース
  • wordpress: WordPress コンテナ

したがって、WordPress サービスのログのみを表示したい場合、コマンドは次のようになります。

docker-compose ログ wordpress

次のように、ログ出力を表示することもできます (tail コマンドを使用する場合と同様)。

docker-compose ログ -f wordpress

WordPress サービスに新しい情報が記録されるたびに、ターミナル ウィンドウに表示されます (図 D)。

図D. WordPressサービスログを表示する

デプロイメントで使用されたポートを忘れた場合はどうすればよいでしょうか? docker-compose.yml ファイルを確認するか、docker-compose コマンドで port オプションを使用することができます。サービスの内部コマンドを知っておく必要があります。たとえば、WordPress はデフォルトでポート 80 を使用するので、これが内部ポートであることがわかります。しかし、ネットワーク接続ポートとして何を割り当てるのでしょうか? 次のコマンドで確認してみましょう。

docker-compose ポート wordpress 80

このコマンドの出力には、内部ポート 80 が外部ポート 8000 にマッピングされたことが示されます (図 E)。

図 E. Wordpress のポートマッピング

デプロイされたコンテナを覚えていない場合は、次のコマンドを実行できます。

docker-compose ps

出力には、デプロイされた各コンテナがリストされます (図 F)。

図F. コンテナリスト

まだ始まったばかり

これにより、Docker Compose の威力を実感していただけるはずです。次の記事では、docker-compose.yml ファイルを詳しく見て、独自のコンテナを構築する方法を説明します。

元のタイトル: docker-compose コマンドの使い方、著者: Jack Wallen

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker-composeをインストールする最も簡単な方法2つ
  • 一般的なDocker Composeコマンドの詳細な説明
  • Docker Compose チュートリアル
  • Docker-Compose の詳細な使用例
  • docker-composeの詳細なインストールと使用方法
  • Docker Compose 構成ファイルの記述とコマンドの使用例

<<:  mysql5.7.24 バージョンのインストール手順と解凍時に発生した問題の概要

>>:  Vueは動的クエリルール生成コンポーネントを実装します

推薦する

Docker での Tomcat インストールの 404 問題の解決方法

tomcat の containerID を見つけて、tomacat ディレクトリに入ります。 [r...

MySQL マスタースレーブ同期の原理と応用

目次1. マスタースレーブ同期原理マスタースレーブ同期アーキテクチャ図(非同期同期)マスタースレーブ...

mysql bin-log ログファイルを sql ファイルに変換する方法

mysqlbinlogのバージョンを表示mysqlbinlog -V [--version] bin...

Vue 計算プロパティ実装トランスクリプト

この記事では、Vueの計算プロパティ実装レポートカードを参考に共有します。具体的な内容は次のとおりで...

MySQLカバーインデックスの使用例

カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...

Javascript Bootstrapのグリッドシステム、ナビゲーションバー、カルーセルの詳細な説明

目次ブートストラップと関連コンテンツの紹介グリッドシステムネストされた列列オフセット列の並べ替えナビ...

Dockerイメージのサイズを縮小する6つの方法

2017 年に Vulhub に取り組み始めてから、私は厄介な問題に悩まされてきました。Docker...

ウェブサイト上のWeiboコンポーネントの再設計の詳細な紹介(写真とテキスト)

前面に書かれたWeibo コンポーネントは、サードパーティのアクセス ユーザーが開発を必要とせずに ...

Linux システム ディレクトリ sys、tmp、usr、var の詳細な説明。

Linux 初心者から Linux マスターへの成長の道: Linux システム ディレクトリ s...

Windows 上の Docker にさまざまなソフトウェアをインストールする詳細なプロセス

1. MySQLをインストールする # docker で mysql をダウンロード docker ...

MySQL EXPLAIN ステートメントの使用例

目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...

HTML テーブルの行間および列間の操作 (rowspan、colspan)

一般的に、<td> 要素の colspan 属性はセルの列間操作を実装するために使用され...

VMware vSAN 入門概要

1. 背景1. vSphere の共有ストレージの背景を簡単に紹介するvSphere の重要な機能は...

Vue3 ベースのフルスクリーン ドラッグ アップロード コンポーネント

この記事は主に、みんなで共有できるVue3ベースのフルスクリーンドラッグアップロードコンポーネントを...

Dockerに証明書を追加する方法

1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...