Mar*_*nto 43 docker docker-compose
泊坞窗,compose.yml
version: '2'
services:
app:
build:
context: .
command: python src/app.py
restart: on-failure
depends_on:
- db
environment:
- TJBOT_DB_HOST=db
- TJBOT_API_KEY
- TJBOT_AUTO_QUESTION_TIME
env_file:
- .env
db:
image: mongo:3.0.14
volumes:
- mongodbdata:/data/db
volumes:
mongodbdata:
Run Code Online (Sandbox Code Playgroud)
如果我更改.env文件,我怎样才能重新加载容器以使用新环境变量并减少停机时间?
BMi*_*tch 61
如果您使用docker-compose运行yml,则可以运行docker-compose up -d它,它将重新创建任何具有更改的容器,并保持所有未更改的服务不变.
$ cat docker-compose.env2.yml
version: '2'
services:
test:
image: busybox
# command: env
command: tail -f /dev/null
environment:
- MY_VAR=hello
- MY_VAR2=world
test2:
image: busybox
command: tail -f /dev/null
environment:
- MY_VAR=same ole same ole
$ docker-compose -f docker-compose.env2.yml up -d
Creating network "test_default" with the default driver
Creating test_test_1
Creating test_test2_1
$ vi docker-compose.env2.yml # edit the file to change MY_VAR
$ docker-compose -f docker-compose.env2.yml up -d
Recreating test_test_1
test_test2_1 is up-to-date
Run Code Online (Sandbox Code Playgroud)
如果您docker stack deploy -c docker-compose.yml使用版本3文件格式运行容器,则可以对服务进行滚动更新,以防止在运行多个服务实例时出现任何停机.这个功能还是很新的,你需要1.13.1修复一些更新的问题,而且就像这个新的东西一样,bug仍在解决.
| 归档时间: |
|
| 查看次数: |
22724 次 |
| 最近记录: |