从最近合并到docker 17.06候选版本的PR中,我们现在支持使用swarm服务的主机网络。然而,尝试一个非常相似的命令,我看到一个错误:
$ docker service create --name nginx-host --network host nginx
Error response from daemon: could not find the corresponding predefined swarm network: network host not found
我正在运行17.06的候选版本:
$ docker version
Client:
Version: 17.06.0-ce-rc2
API version: 1.30
Go version: go1.8.3
Git commit: 402dd4a
Built: Wed Jun 7 10:07:14 2017
OS/Arch: linux/amd64
Server:
Version: 17.06.0-ce-rc2
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: 402dd4a
Built: Wed Jun 7 10:06:06 2017
OS/Arch: linux/amd64
Experimental: true
我的命令和docker现在支持的命令有什么不同?
2条答案
按热度按时间watbbzwu1#
在与docker开发人员讨论后,此功能需要在升级到17.06后初始化swarm。在群集初始化运行之前创建的主机和网桥网络不能与节点本地网络一起使用。由于这是一个测试环境,因此使用以下命令重新创建了我的swarm:
现在
docker service create
命令起作用了:为了验证,让我们检查容器内的网络接口:
ecr0jaav2#
是的@dev93,有一种方法可以通过docker-compose文件(yml)使用主机网络创建swarm服务。
如果你已经阅读到这里,你也想知道,一旦你使用主机网络启动你的服务,你就不能再成为覆盖网络的一部分了。When using host, that no other networks are allowed