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

推薦する

JavaScriptはパスワードボックスの検証情報を実装します

この記事では、パスワードボックスの検証情報を実装するためのJavaScriptの具体的なコードを例と...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

MySQLでBLOBデータを処理する方法

具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.i...

Vue+Element+Springboot画像アップロードの実装例

最近、たまたま vue+springboot のフロントエンドとバックエンドの分離プロジェクトに触れ...

MySQLに画像を保存する方法

1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...

Vue イベントの $event パラメータ = イベント値の場合

テンプレート <el-table :data="データリスト"> &...

Windows 10 で MySQL の解凍バージョンをインストールする方法の詳細なグラフィック チュートリアル

MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...

MySQLデータベース最適化技術の簡単な紹介

成熟したデータベース アーキテクチャは、最初から高可用性、高スケーラビリティなどの機能を備えて設計さ...

iframe を使用して Web ページに他の Web ページを埋め込む方法

iframe の使い方:コードをコピーコードは次のとおりです。 <DIV align=cent...

MYSQLクエリデータの結果に自動的に番号を付ける方法

序文実際、クエリ中に結果に番号が付けられるこのような状況に遭遇したことは一度もありません。同僚が転職...

Mysqlツリー再帰クエリの実装方法

序文部門テーブルなどのデータベース内のツリー構造データの場合、部門のすべての従属部門または部門のすべ...

MYSQL 左結合の最適化 (10 秒から 20 ミリ秒)

目次【機能背景】 [生のSQL] 【独自SQL解析】 【分析手順】 [最適化されたSQL] 【最適化...

MySQL ビッグデータ クエリ最適化エクスペリエンスの共有 (推奨)

本格的な MySQL 最適化! MySQL のデータ量が少ない場合は最適化は不要です。データ量が多い...

Zabbix設定 DingTalkアラーム機能実装コード

必要Zabbix で DingTalk アラームを設定する方法は、Prometheus で Ding...

WeChatアプレット+mqtt、esp8266温度と湿度の読み取り実装方法

まず、 esp8266 は mqtt を通じてメッセージを公開し、WeChat アプレットは mqt...