给定以下撰写文件:
version: '3.6'
services:
hello-world:
image: hello-world
environment:
- test:test
如果我使用 部署它docker stack deploy -c docker-compose.yml test
,则修改 compose 文件如下:
services:
hello-world:
image: hello-world
environment:
- test:test
- test2:test2
现在,如果我运行,docker service inspect test_hello-world
我会在任务模板中看到以下内容:
"Env": [
"test:test"
],
我可以使用命令来获取从撰写文件添加的第二个环境变量(test2)吗?
简而言之,请在更新 docker-compose 后运行以更新服务:
docker stack deploy -c docker-compose.yml test
说明:
请
docker ps -a
跑完再跑docker stack deploy -c docker-compose.yml test
。可以看到容器的状态是Exited (0)
。这意味着你的容器当时没有运行。在 docker-compose.yml 更新并
test2:test2
运行后docker service inspect test_hello-world
,您不会自动更新您的服务。您应该在更改
docker stack deploy -c docker-compose.yml test
后再次运行以进行更新。然后就可以看到已经更新了。我测试了它以确保它能像那样工作。docker-compose.yml
test2:test2
输出:
您还可以使用
nginx
而不是进行测试hello-world
。因为它总是运行(向上)。更新 docker-compose 后,请运行docker stack deploy -c docker-compose.yml test
更新。终端:
那时,先前的版本已终止,并创建了新版本。
docker ps -a
显示它。终端(docker ps -a):