Link 在两个不同的 docker-compose 文件中配置的容器
Link containers that are configured in two different docker-compose files
假设我有两种不同的 docker-compose
配置:
db.yml
:
version: '3'
networks:
default:
external:
name: backend
volumes:
mongo_data:
services:
mongodb:
image: mongodb
container_name: mongodb
restart: always
ports:
- 27017:27017
networks:
- backend
volumes:
- mongo_data:/data/db
admin.yml
:
version: '3'
networks:
default:
external:
name: backend
volumes:
mongo_data:
services:
mongoclient:
image: mongoclient/mongoclient
restart: always
ports:
- 3000:3000
networks:
- backend
depends_on:
- mongodb
links:
- mongodb
这行不通,因为链接的容器没有配置在同一个文件中。但是有没有办法实现类似的东西?
我想要一个更简洁的设置来设置我的生产环境,这样我就可以只重新启动更改的相关位,而不是一次重新启动所有内容。
要link到mongodb你需要link"external":
...
external_links:
- project_mongodb_1:mongodb
...
请注意,您需要将 project_mongodb_1
替换为 docker-compose ps
给您的正确名称。您需要删除 depends_on
部分。这行不通。看这里:https://github.com/docker/compose/issues/3951
但是您根本不应该使用 link,因为它们已被弃用。有关详细信息,请参阅此处:https://docs.docker.com/compose/compose-file/#external_links
查看此操作方法:
假设我有两种不同的 docker-compose
配置:
db.yml
:
version: '3'
networks:
default:
external:
name: backend
volumes:
mongo_data:
services:
mongodb:
image: mongodb
container_name: mongodb
restart: always
ports:
- 27017:27017
networks:
- backend
volumes:
- mongo_data:/data/db
admin.yml
:
version: '3'
networks:
default:
external:
name: backend
volumes:
mongo_data:
services:
mongoclient:
image: mongoclient/mongoclient
restart: always
ports:
- 3000:3000
networks:
- backend
depends_on:
- mongodb
links:
- mongodb
这行不通,因为链接的容器没有配置在同一个文件中。但是有没有办法实现类似的东西?
我想要一个更简洁的设置来设置我的生产环境,这样我就可以只重新启动更改的相关位,而不是一次重新启动所有内容。
要link到mongodb你需要link"external":
...
external_links:
- project_mongodb_1:mongodb
...
请注意,您需要将 project_mongodb_1
替换为 docker-compose ps
给您的正确名称。您需要删除 depends_on
部分。这行不通。看这里:https://github.com/docker/compose/issues/3951
但是您根本不应该使用 link,因为它们已被弃用。有关详细信息,请参阅此处:https://docs.docker.com/compose/compose-file/#external_links
查看此操作方法: