docker-compose 中等效於 Docker 選項 --config
概述
如果您正在使用 Docker Compose 來定義和執行多容器 Docker 應用程式,您可能希望為您的應用程式指定自定義配置檔案或目錄。幸運的是,Docker Compose 提供了--config選項,它允許您做到這一點。
--config選項用於為 Docker Compose 指定單個配置檔案或包含多個配置檔案的目錄。要使用它,您可以將其作為引數傳遞給docker-compose命令。例如:
$ docker-compose --config /path/to/custom/config.yml up
此命令將告訴 Docker Compose 使用位於/path/to/custom/config.yml的配置檔案作為應用程式的配置。
或者,您可以使用--config選項指定包含多個配置檔案的目錄:
$ docker-compose --config /path/to/custom/config/dir up
在這種情況下,Docker Compose 將在指定的目錄中查詢名為docker-compose.yml的檔案並將其用作配置檔案。
Config 與 File 選項對比
值得注意的是,--config選項類似於 Docker Compose 中的--file選項,後者用於指定特定的配置檔案,無論其位置或名稱如何。但是,--config用於指定單個配置檔案或包含多個配置檔案的目錄,而--file用於指定特定的配置檔案,無論其位置或名稱如何。
--file 選項示例:
$ docker-compose --file file1.yml --file file2.yml up
用例
使用--config選項可以有效地為您的 Docker Compose 應用程式指定自定義配置檔案或目錄。如果您想測試不同的配置而不修改預設配置檔案,或者如果您想在不同的系統上使用不同的配置檔案或目錄,這將特別有用。
為了讓您瞭解--config選項如何在實踐中使用,這裡有一些示例:
# Use a custom configuration file docker-compose --config /path/to/custom/config.yml up # Use a directory containing multiple configuration files docker-compose --config /path/to/custom/config/dir up
在這兩種情況下,Docker Compose 都將使用指定的配置檔案或目錄作為應用程式的配置。
值得注意的是,--config 選項僅在啟動 Docker Compose 應用程式時使用,不能與其他 Docker Compose 命令一起使用。如果您想為其他 Docker Compose 命令指定自定義配置選項,則需要使用其他選項或環境變數。
實現
以下是兩個 Docker Compose 配置檔案(docker-compose.yml和docker-compose-test.yml)的示例,它們可以與--config選項一起使用:
docker-compose.yml
version: '3.9' services: web1: image: nginx ports: - 81:80 db1: image: postgres environment: POSTGRES_USER: user POSTGRES_PASSWORD: password
docker-compose-test.yml
version: '3.9' services: web2: image: nginx ports: - 82:80 db2: image: mysql environment: MYSQL_USER: testuser MYSQL_PASSWORD: testpassword
要啟動這些配置檔案中定義的服務,您可以像這樣使用 --config 選項:
# Start services using docker-compose.yml docker-compose --config docker-compose.yml up # Start services using docker-compose-test.yml docker-compose --config docker-compose-test.yml up
在第一種情況下,Docker Compose 將使用docker-compose.yml檔案啟動web1和db1服務,分別使用 Nginx 和 PostgreSQL 映象。在第二種情況下,Docker Compose 將使用docker-compose-test.yml檔案啟動web2和db2服務,分別使用 Nginx 和 MySQL 映象。
結論
總之,--config選項對於為您的 Docker Compose 應用程式指定自定義配置檔案或目錄非常有用。它可以用於測試不同的配置或在不同的系統上使用不同的配置檔案或目錄。透過使用--config選項,您可以更好地控制 Docker Compose 應用程式的配置方式,並使其更易於在不同的系統上一致地執行您的應用程式。