我一直在使用docker-compose,但注意到还有一个docker compose(没有破折号)。 我无法通过谷歌迅速确定这两种形式之间的区别。
有人知道吗?
Docker编写的帮助:
docker-compose的帮助:
我一直在使用docker-compose,但注意到还有一个docker compose(没有破折号)。 我无法通过谷歌迅速确定这两种形式之间的区别。
有人知道吗?
Docker编写的帮助:
docker-compose的帮助:
当前回答
引用自https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command
Compose V2 and the new docker compose command
Important
The new Compose V2,
which supports the compose command as part of the Docker CLI, is now available.
Compose V2 integrates compose functions into the Docker platform,
continuing to support most of the previous docker-compose features and flags.
You can run Compose V2 by replacing the hyphen (-) with a space,
using docker compose, instead of docker-compose.
其他回答
引用自https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command
Compose V2 and the new docker compose command
Important
The new Compose V2,
which supports the compose command as part of the Docker CLI, is now available.
Compose V2 integrates compose functions into the Docker platform,
continuing to support most of the previous docker-compose features and flags.
You can run Compose V2 by replacing the hyphen (-) with a space,
using docker compose, instead of docker-compose.
如果docker还没有包含在docker安装中,docker compose可以作为CLI插件安装在Linux上。
COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r '.tag_name')
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
看到https://docs.docker.com/compose/cli-command/ installing-compose-v2
来自docker船长计划的Brandon Mitchell回复了我在github上的问题,如下:
docker/ composition -cli项目处于中间状态,在docker-cli Linux包的上游版本中不可用,但在docker Desktop中包含。文档页面通常遵循docker/cli中的内容,所以提前发布到Desktop会使文档处于一个困难的位置。我将向Docker团队提出这个问题,看看他们想如何处理它。
更新:来自docker github问题:
Gtardif 2天前评论道 撰写命令参考文档现已激活
新的docker-compose命令参考
如果你不想做改动,但想要原始的遗留docker-compose功能,也被称为撰写独立和撰写插件,你可以做以下事情:
# Run as root
VERSION=v2.12.2
curl -SL https://github.com/docker/compose/releases/download/$VERSION/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose
# Test it
docker-compose
这允许你在shell脚本中继续使用docker-compose。
在本页上检查版本。
除了上面所说的,我还注意到两者之间的一个重要区别。
在我们的设置中,docker-compose。Yml文件位于模板文件夹中。这样我们就可以基于同一个模板运行同一个项目的多个实例。本地实例有自己的文件夹和自己的.env文件(也有自己的卷)。
在模板文件夹中还有一个模板.env文件:使用脚本复制并改编到实例文件夹。
为了工作,码头工人们开始写作。Yml文件看起来像这样,在模板文件夹中:
version: "3"
services:
wordpress:
image: wordpress
container_name: "${COMPOSE_PROJECT_NAME}_wordpress"
env_file:
- ${PWD}/.env
...
和本地实例的.env文件:
# compose file location
COMPOSE_FILE=../templateFolder/docker-compose.yml
# this instance name
COMPOSE_PROJECT_NAME=foo
在这方面:
使用docker-compose,在实例位置读取.env文件,这是预期的 使用docker compose, .env文件在模板位置读取!
为了覆盖这个,我们必须将模板的.env文件重命名为dotEnv。
这里对这种行为进行了简单的描述:https://docs.docker.com/compose/#multiple-isolated-environments-on-a-single-host