现在link
不推荐使用s docker-compose.yml
(并且我们能够使用新的联网功能在容器之间进行通信),我们已经失去了一种显式定义容器之间的依赖关系的方法。我们如何才能,现在,告诉我们的MySQL的容器拿出第一,我们之前的API服务器容器启动时(其通过DNS条目连接到MySQLmyapp_mysql_1
的docker-compose.yml
?
在引入depends_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
上述方法的一个重要警告是,php的体积暴露于nginx,这是不希望的。但是目前,这是可以使用的一种特定于docker的解决方法。
depends_on功能这可能是一个未来派的答案。因为该功能尚未在Docker中实现(从1.9版本开始)
有人建议在Docker引入的新网络功能中引入“ depends_on”。但是关于相同的@ https://github.com/docker/compose/issues/374一直存在着长期争论,因此,一旦实现,就可以使用depends_on功能来命令启动容器,但是在此刻,您将不得不采用上述方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句