我有一台运行 CoreOS 和一堆 Docker 容器的裸机,例如nginx
和gitlab
。
nginx
应该是反向代理,gitlab
因此它需要具有到gitlab
容器的网络连接和主机名解析。
我曾经通过这种方法来做到这一点,docker run --name nginx --link gitlab:gitlab ...
但是这种方法已被弃用,并且 Docker 文档建议使用 Docker 的“用户定义网络”。
我可以创建其中一个,docker network create ...
但我希望它在启动时自动创建。
如何在 CoreOS 的 cloud-config 中配置它?我的第一个想法是创建一个只运行命令的系统单元。应该这样做吗?
答案1
更符合 CoreOS 的方式是使用舰队单位,然后您可以定义与其他单位的依赖关系。
因此,你可能有一个依赖于docker的舰队单位mynetwork
,然后你的nginx
和gitlab
单位将依赖于mynetwork