docker-compose.yml ファイル内の一般的なテンプレート コマンドの詳細な説明

docker-compose.yml ファイル内の一般的なテンプレート コマンドの詳細な説明

注意: docker-compose.yml ファイルを書き込むときは、すべてのコロン (:) とダッシュ (-) の後にスペースを入れる必要があります。

1. コマンド

コンテナの起動後に実行されるデフォルトのコマンドを上書きする

コマンド: echo "hello"

2. コンテナ名

コンテナ名を指定します。デフォルトでは、プロジェクト名_サービス名_シリアル番号の形式が使用されます。

コンテナ名: docker-web-container

3. 構成

スウォームモードでのみ使用

4. 展開する

スウォームモードでのみ使用

5. デバイス

デバイスマッピングを指定する

デバイス:
- "/dev/dir:/dev/dir"

6. 依存する

コンテナの依存関係、起動順序、コンテナ間の通信の問題を解決します。

7. リンク

他のコンテナに接続します。注: このディレクティブは、depends_on に置き換えられて非推奨になりました。

ネットワークを作成するには docker network を使用し、特定のネットワークに接続するには docker run --network を使用する必要があります。

または、docker-compose.yml のバージョン '2' 以上を使用して、カスタム ネットワークを直接定義し、それを使用します。

8. DNS

カスタム DNS サーバー。単一の値またはリストを指定できます。

ドメイン名: 8.8.8.8
ドメイン名:
- 8.8.8.8
- 114.114.114.114

9. 環境

環境変数を設定します。配列形式または辞書形式のいずれかを使用できます。指定された名前の変数は、Compose を実行しているホスト上の対応する変数の値を自動的に取得します。これにより、不要なデータ漏洩を防ぐことができます。

環境:
MYSQL_ROOT_パスワード: 666666

10. 暴露する

ポートは公開されていますが、ホスト マシンにマップされておらず、接続されたサービスにのみアクセスできます。パラメータとして指定できるのは内部ポートのみです。

11. 追加ホスト

Docker の --add-host パラメータと同様に、追加のホスト名マッピング情報を指定します。開始されたサービス コンテナーの /etc/hosts ファイルにエントリが追加されます。例: 8.8.8.8 googledns

12. 健康チェック

コマンドでコンテナが正常に動作しているかどうかを確認する

ヘルスチェック:
テスト: ["CMD", "curl", "-f", "http://localhost"]
間隔: 1分30秒
タイムアウト: 10秒
再試行: 3

13. 画像

イメージ名またはイメージ ID を指定します。イメージがローカルに存在しない場合、Compose はイメージをプルしようとします。

14. ラベル

コンテナに Docker メタデータ情報を追加します。たとえば、コンテナーに補助情報を追加できます。

15. ネットワークモード

ネットワークモードを設定します。 docker run の --network パラメータと同じ値を使用します。

ネットワークモード: "ブリッジ"
ネットワークモード: "ホスト"
ネットワークモード: "なし"

16. ネットワーク

コンテナが接続されているネットワークを構成する

ネットワーク:
ネットワークデモ

17. ポート

HOST:CONTAINER の形式を使用してポート情報を公開するか、コンテナのポートを指定します (ホストはランダムなポートを選択します)。

ポート:
- 「80:80」
- 「443:443」
- 「8081:8081」

18. 巻数

データボリュームがマウントされるパスはホストパスに設定でき、相対パスもサポートされています。

ボリューム:
- ../サイト:/data/www:rw
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- ./nginx/cert:/etc/nginx/cert:ro
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/phpcgi.conf:/etc/nginx/phpcgi.conf:ro
- ./nginx/fastcgi.conf:/etc/nginx/fastcgi.conf:ro
- ./nginx/pathinfo.conf:/etc/nginx/pathinfo.conf:ro
- ../logs/nginx:/var/log/nginx

19. ulimits

コンテナの ulimits 制限値を指定します。

たとえば、プロセスの最大数を 65535 に指定し、ファイル ハンドルの数を 20000 (ソフト リミット、アプリケーションはいつでも変更でき、ハード リミットを超えることはできません) および 40000 (システム ハード リミット、ルート ユーザーのみが増やすことができます) に指定します。

ulimits:
プロセス: 65535
ファイルなし:
ソフト: 20000
ハード: 40000

20. エントリポイント

サービスコンテナの起動後に実行されるエントリファイルを指定します

エントリポイント: /code/entrypoint.sh

21. ユーザー

コンテナ内でアプリケーションを実行するためのユーザー名を指定します

22. 作業ディレクトリ

コンテナ内の作業ディレクトリを指定する

作業ディレクトリ: /data/www

23.ドメイン名

指定されたコンテナ内のドメイン名を検索

ドメイン名: your_domain.com

24. ホスト名

コンテナ内のホスト名を指定する

25. MACアドレス

コンテナ内のMACアドレスを指定する

MACアドレス: 01-02-22-0A-0B

26. 特権を持つ

コンテナ内でいくつかの特権コマンドの実行を許可する

特権: true

27. 再起動

コンテナ終了後の再起動ポリシーが常に再起動されることを指定します。実稼働環境では、alwaysまたはunless-stoppedに設定することをお勧めします。

再起動: 常に

28. 読み取り専用

コンテナのルートファイルシステムを読み取り専用モードでマウントします。つまり、コンテナの内容を変更することはできません。

読み取り専用: 真

29. stdin_open

外部入力を受け入れるために標準入力を開く

stdin_open: 真

30.tty

擬似端末をシミュレートする

端末: 真

docker-compose.yml ファイルによく使用されるテンプレート コマンドに関するこの記事はこれで終わりです。docker-compose.yml テンプレート コマンドに関するより関連性の高い内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker-compose インストール yml ファイルの設定方法

<<:  CSS の画像パスの問題に関する議論 (同じパッケージ/異なるパッケージ)

>>:  CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

推薦する

Vue3.0 手書きカルーセル効果

この記事では、Vue3.0の手書きカルーセル効果の具体的なコードを参考までに共有します。具体的な内容...

MySQL mysqladmin クライアントの使用の概要

目次1. サーバーの状態を確認します。 2. ルートパスワードを変更します。 3. mysqlser...

Vue で Baidu Map を呼び出して経度と緯度を取得する

プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...

MySql5.7.21 インストールポイント記録メモ

ダウンロードしたバージョンは、Zip 解凍版、Windows システムです。長い間 Windows ...

Centos7でファイルをバックアップするときは、バックアップファイルにバックアップの日付を追加します

Linux は、システム内のデバイス、インターフェース、ファイル、スタートアップ、アプリケーション ...

最小限の展開で CentOS8 に OpenStack Ussuri をインストールする方法の詳細なチュートリアル

CentOS8 に最小限のデプロイメントで OpenStack Ussuri をインストールするため...

CentOS 7.9 の zabbix5.0.14 のインストールと設定プロセス

目次1. 基本的な環境設定2. データベースをインストールする3. zabbix関連コンポーネントを...

MySQL でよく使用される SQL 文を表示する (詳細な説明)

#mysql -uroot -pパスワードを入力してくださいmysql> show full...

MySQLデータベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

目次序文1. MySQL マスタースレーブレプリケーション1. サポートされているレプリケーションの...

Linux で見つけるためのフレンドリーな代替手段 (fd コマンド)

fd コマンドは、Linux ファイル システムを検索するためのシンプルで簡単な方法を提供します。...

JPQLに基づく純粋なSQL文方式の詳細な説明

JPQL は Java Persistence Query Language の略です。 Java ...

2つのVirtualBox仮想ネットワークをブリッジするLinuxブリッジメソッドの手順

この記事は、この時期の「ピーターから奪ってポールに払う」という仕事のスタイルに対する私の不満から生ま...

加算、減算、乗算、除算の機能を実現するには、HTML に 2 つの数値を入力します。

1. parseFloat() 関数Web ページ上に簡単な計算機を作成し、テキスト ボックスに ...

きれいなJavaScriptコードの書き方を教える記事

目次1. 変数意味のある名前を使う不必要なコンテキストを追加しないようにするハードコードされた値を避...

MySQLは文字列の連結、インターセプション、置換、位置検索操作を実装しています

MySQL 文字列の連結、インターセプト、置換、および検索位置。よく使用される文字列関数:関数例示す...