MiG*_*iGo 5 docker docker-compose
我可以在同一目录中保存多个 docker-compose.yml 文件吗?例如
我想要带有一些服务的 docker-compose-1.yml 和带有一些其他服务的 docker-compose-2.yml。是否有任何要求具有特定的文件名以及用于启动它的命令是什么?
docker-compose up --build -f docker-compose-1.yml ??
Run Code Online (Sandbox Code Playgroud)
这导致
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml
Run Code Online (Sandbox Code Playgroud)
小智 6
您确实docker-compose可以在同一目录中保存多个具有不同名称的文件(它们可以完全自定义)并同时启动它们。
尝试这个:
docker-compose -f docker-compose1.yml -f docker-compose2.yml up --build
Run Code Online (Sandbox Code Playgroud)
该-farguements应前up再--build后。
请注意,在许多 docker compose 文件的情况下,这些文件被合并,请在此处查看更多信息:https : //docs.docker.com/compose/extends/#multiple-compose-files
您可以使用参数在多个 docker-compose 文件中运行服务-p
-p, --project-name NAME
因此,以下命令应该有效:
docker-compose -f ./docker-compose-new.yml -p new_project_name up -d
Run Code Online (Sandbox Code Playgroud)
您还可以在文件COMPOSE_PROJECT_NAME中使用变量.env,例如 file env.sample,如下所示:
COMPOSE_PROJECT_NAME=sample_project
Run Code Online (Sandbox Code Playgroud)
并在命令中使用此 .env 文件,如下所示:
docker-compose --env-file env.sample -f ./docker-compose-new.yml up -d
Run Code Online (Sandbox Code Playgroud)
请注意,您的容器将被命名为您的项目名称,例如sample_project-service_one
Just this!
| 归档时间: |
|
| 查看次数: |
2079 次 |
| 最近记录: |