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は動的クエリルール生成コンポーネントを実装します

推薦する

Vue命令の実装原理の分析

目次1. 基本的な使い方2. 指示の動作原理2.1. 初期化2.2 テンプレートのコンパイル2.3....

VueはExcelデータをエクスポートするパブリック関数メソッドをカプセル化します

vue+element UI は Excel データをエクスポートするためのパブリック関数をカプセル...

Vue3のdefineComponentの役割についての簡単な説明

目次defineComponent オーバーロード関数開発実務defineComponent 関数は...

Vue での mixin の応用について議論する

Mixin は、再利用可能な機能を Vue コンポーネント間で分散する非常に柔軟な方法を提供します。...

VirtualBox Centos7 の NAT+ホストオンリーネットワークの落とし穴のまとめ

目次1. 問題の背景2. 仮想マシン ネットワーク カードの接続方法は何ですか? 2.1 NAT 2...

Vue での keepAlive の使用例の詳細な説明

開発においては、一覧から詳細ページにジャンプし、また詳細ページに戻る際に一覧ページの状態(スクロール...

ウェブページにコンテンツが多すぎる場合に、下から上へ素早く戻る方法

Web フロントエンド開発では、ページに多くの記事を表示することが避けられません。記事の最後にあるク...

MySQL 8.0.11 Community Green Edition の Windows 用インストール手順図

このチュートリアルでは、インストールに最新の MySQL コミュニティ グリーン バージョンである ...

Link と @import の違いを詳しく見る

ページで CSS を使用する主な方法は、スタイル属性値をインラインで追加する方法、ページ ヘッダーで...

Linux オペレーティング システムに Apache サービスをインストールする方法

ダウンロードリンク:動作環境VMware 仮想マシンの CentOS 7.6セキュアCRT Xftp...

MySQLパスワード変更例の詳細な説明

MySQLパスワード変更例の詳細な説明長い間 MySQL を使用していませんでした。今日、MySQL...

MySQLがOracleのnvlと同様の機能を持つことができるかどうかについての簡単な議論

isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...

ドラッグ可能で編集可能なガントチャートの詳細な説明(HighchartsはVueとReactで使用できます)

序文Excel は強力で、広く使用されています。 Web アプリケーションの登場と改善に伴い、ユーザ...

この記事ではJavaScriptの基本であるディープコピーとシャローコピーについて説明します。

目次浅いコピーディープコピー補充する要約するコピー(クローン、複製などとも呼ばれる)ですが、ディープ...

Docker Tomcat のアクセス インターフェイスが表示されないのはなぜですか?

質問:オリジン サーバーはターゲット リソースの表現を見つけることができないか、既存の表現を公開した...