blo*_*loo 5 containers docker docker-compose devops
现在link已经弃用了docker-compose.yml(并且我们能够使用新的网络功能在容器之间进行通信),我们已经失去了一种明确定义容器之间依赖关系的方法.我们如何才能,现在,告诉我们的MySQL的容器拿出第一,我们之前的API服务器容器启动时(其通过DNS条目连接到MySQL myapp_mysql_1的docker-compose.yml?
在引入 dependent_on 功能(如下所述)之前,可以使用“volumes_from”作为解决方法。假设您有一个依赖于 php 容器的 nginx 容器,您可以执行以下操作:
nginx:
image: nginx
ports:
- "42080:80"
volumes:
- ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
volumes_from:
- php
php:
build: config/docker/php
ports:
- "42022:22"
volumes:
- .:/var/www/html
env_file: config/docker/php/.env.development
mongo:
image: mongo
ports:
- "42017:27017"
volumes:
- /var/mongodata/wa-api:/data/db
command: --smallfiles
Run Code Online (Sandbox Code Playgroud)
上述方法的一个重要警告是 php 的卷暴露给 nginx,这是不希望的。但目前这是一种可以使用的 docker 特定解决方法。
depends_on feature这可能是一个未来主义的答案。因为该功能尚未在 Docker 中实现(截至 1.9)
有人提议在 Docker 引入的新网络功能中引入“depends_on”。但对于同样的问题存在长期争论@ https://github.com/docker/compose/issues/374因此,一旦实现,该功能depends_on可用于命令容器启动,但在到了这个时候,你就不得不采用上面的方法了。
| 归档时间: |
|
| 查看次数: |
1958 次 |
| 最近记录: |