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 のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

推薦する

CSS 動的高さ遷移アニメーション効果の実装

この質問は、Nuggets のメッセージから生まれました。友人が、次のコードの高さ遷移アニメーション...

.NETCore Dockerはコンテナ化とプライベートイメージリポジトリ管理を実装します

1. Dockerの紹介Docker は Linux オペレーティングシステムの一部の機能をベースに...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

JS クロスドメイン ソリューション React 構成 リバース プロキシ

クロスドメインソリューションjsonp (get をシミュレート) CORS (クロスオリジンリソー...

Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法

Apache Superset は、データを表示および探索する方法を提供する強力な BI ツールで...

geo モジュールを使用して Nginx でホワイトリストを設定する例

元の構成: http { ...... limit_conn_zone $binary_remote...

音声キューイングシステムを実装するためのJavaScript

目次導入主な特徴エフェクト表示キーコード導入音声キューイングシステムは、銀行、レストラン、病院などの...

シームレスなカルーセルを実現するjQueryプラグイン

シームレス カルーセルは非常に一般的なエフェクトであり、ロジックを理解すれば非常に簡単です。効果は以...

MySQL の起動時に InnoDB エンジンが無効になる問題の解決方法

問題を見つける今日、仕事中に、ローカル データベースから仮想マシン CentOS 6.6 上のデータ...

Linuxで新しいユーザーを作成し、指定されたディレクトリへの権限を付与する

1 ユーザーを作成し、ユーザーのルートパスとパスワードを指定します useradd -d /home...

flex-grow、flex-shrink、flex-basis、9グリッドレイアウトを理解する

1. flex-grow、flex-shrink、flex-basis プロパティflex-grow...

IDEA は MySQL への接続時にエラーを報告します。サーバーが無効なタイムゾーンを返します。タブに移動して serverTimezone プロパティを設定してください。

これからの道は常に困難で、棘だらけです。歯を食いしばって、乗り越えられると信じてください。さあ、さあ...

Vueでaxiosをカプセル化する方法

目次1. インストール1. はじめに3. インターフェースルートアドレス4. 使用例4.1 ダウンロ...