我如何运行docker-compose.yml docker-compose与基础docker-compose.yml和docker-compose.yml -compose文件的整个目录。
就像我有这个目录结构一样:
parentdir docker-compose.yml folder1/ foo.yml bar.yml folder2/ foo.yml other.yml如何在运行撰写时指定要运行哪些清单文件夹?
How can I run docker-compose with the base docker-compose.yml and a whole directory of docker-compose files.
Like if I had this directory structure:
parentdir docker-compose.yml folder1/ foo.yml bar.yml folder2/ foo.yml other.ymlHow can I specify which folder of manifests to run when running compose?
最满意答案
我希望我能很好地理解你的问题。 您可以使用-f标志: docker-compose -f docker-compose1.yml
编辑 回答你的评论:不,你不能用docker-compose只用一个命令docker-compose几个文件。 您需要指定文件路径,而不是目录路径。 你可以做的是创建一个shell脚本,如:
#!/bin/bash DOCKERFILE_PATH=$DOCKER_PATH for dockerfile in $DOCKERFILE_PATH do if [[ -f $dockerfile ]]; then docker-compose -f $dockerfile fi; done通过调用它: DOCKER_PATH=dockerfiles/* ./script.sh它将执行DOCKER_PATH=dockerfiles/* ./script.sh docker-compose -f与DOCKER_PATH每个文件。
( docs )
My best option was to have a run.bash file in the base directory of my project.
I then put all my compose files in say compose/ directory, then run it with this command:
docker-compose $(./run.bash) up
run.bash:
#!/usr/bin/env bash PROJECT_NAME='projectname' # need to set manually since it normally uses current directory as project name DOCKER_PATH=$PWD/compose/* MANIFESTS=' ' for dockerfile in $DOCKER_PATH do MANIFESTS="${MANIFESTS} -f $dockerfile" done MANIFESTS="${MANIFESTS} -p $PROJECT_NAME" echo $MANIFESTS包含docker-compose文件的目录(Include directory of docker-compose files)我如何运行docker-compose.yml docker-compose与基础docker-compose.yml和docker-compose.yml -compose文件的整个目录。
就像我有这个目录结构一样:
parentdir docker-compose.yml folder1/ foo.yml bar.yml folder2/ foo.yml other.yml如何在运行撰写时指定要运行哪些清单文件夹?
How can I run docker-compose with the base docker-compose.yml and a whole directory of docker-compose files.
Like if I had this directory structure:
parentdir docker-compose.yml folder1/ foo.yml bar.yml folder2/ foo.yml other.ymlHow can I specify which folder of manifests to run when running compose?
最满意答案
我希望我能很好地理解你的问题。 您可以使用-f标志: docker-compose -f docker-compose1.yml
编辑 回答你的评论:不,你不能用docker-compose只用一个命令docker-compose几个文件。 您需要指定文件路径,而不是目录路径。 你可以做的是创建一个shell脚本,如:
#!/bin/bash DOCKERFILE_PATH=$DOCKER_PATH for dockerfile in $DOCKERFILE_PATH do if [[ -f $dockerfile ]]; then docker-compose -f $dockerfile fi; done通过调用它: DOCKER_PATH=dockerfiles/* ./script.sh它将执行DOCKER_PATH=dockerfiles/* ./script.sh docker-compose -f与DOCKER_PATH每个文件。
( docs )
My best option was to have a run.bash file in the base directory of my project.
I then put all my compose files in say compose/ directory, then run it with this command:
docker-compose $(./run.bash) up
run.bash:
#!/usr/bin/env bash PROJECT_NAME='projectname' # need to set manually since it normally uses current directory as project name DOCKER_PATH=$PWD/compose/* MANIFESTS=' ' for dockerfile in $DOCKER_PATH do MANIFESTS="${MANIFESTS} -f $dockerfile" done MANIFESTS="${MANIFESTS} -p $PROJECT_NAME" echo $MANIFESTS
发布评论