如何使用动态 IP 在 Windows 7(作为单个节点)上初始化群
How to init a swarm on Windows 7 (as single node) with dynamic IP
我有一台Windows7笔记本电脑,需要做单节点,IP地址是动态的。尝试初始化群时出现以下问题:
来自 Docker 快速启动终端:
$ docker swarm init
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (<examples>) - specify on with --advertise-addr
$ docker swarm init --advertise-addr 192.168.1.120
Error response from daemon: must specify a listening address because the address to advertise is not recognized as a system address, and the system's IP address to use could not be uniquely identified
$ docker swarm init --advertise-addr 192.168.1.120 --listen-addr 192.168.1.120
Error response from daemon: manager stopped: failed to listen on remote API address: listen tcp 192.168.1.120:2377: bind: cannot assign requested address
我尝试使用 127.0.0.1(既做广告又收听),就初始化群而言,这似乎已经奏效了。但是,使用环回会对访问容器产生任何 negative/side 影响吗?我似乎无法通过他们在撰写文件中的映射端口访问任何内容。
例如,尝试访问 Portainer 失败(未找到),但根据日志,它似乎 运行 没问题:
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
0ugklcrsxtw7 portainer_portainer replicated 1/1 portainer/portainer:latest *:4321->9000/tcp
docker service logs 0ugklcrsxtw7
portainer_portainer.1.vom7rarh9ccn@default | 2018/02/07 20:37:45 Starting Portainer 1.16.1 on :9000
docker-compose.yml
:
version: ‘3’
services:
portainer:
image: portainer/portainer:latest
ports:
- "4321:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer:/data
volumes:
portainer:
我想在一个接口上初始化一个群,而不是一个很可能会改变的 IP。这是如何实现的?
Docker 工具箱使用 VirtualBox 启动预装 docker 的虚拟机。
docker-machine ls
应该向您显示快速启动终端在您首次打开时创建的 "default" 机器。
只要此 VM 在 VirtualBox 中使用其默认配置,它就应该具有 192.168.99.100
的私有 IP
如果您在 VirtualBox 中有其他 VM(您可以使用 docker-machine create <some-name>
创建许多 docker 节点),请确保以与 docker-machine start <name>
相同的顺序或在 VirtualBox 中启动它们GUI,因为它会给出从 100 开始的 IP 并上升。
我有一台Windows7笔记本电脑,需要做单节点,IP地址是动态的。尝试初始化群时出现以下问题:
来自 Docker 快速启动终端:
$ docker swarm init
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (<examples>) - specify on with --advertise-addr
$ docker swarm init --advertise-addr 192.168.1.120
Error response from daemon: must specify a listening address because the address to advertise is not recognized as a system address, and the system's IP address to use could not be uniquely identified
$ docker swarm init --advertise-addr 192.168.1.120 --listen-addr 192.168.1.120
Error response from daemon: manager stopped: failed to listen on remote API address: listen tcp 192.168.1.120:2377: bind: cannot assign requested address
我尝试使用 127.0.0.1(既做广告又收听),就初始化群而言,这似乎已经奏效了。但是,使用环回会对访问容器产生任何 negative/side 影响吗?我似乎无法通过他们在撰写文件中的映射端口访问任何内容。
例如,尝试访问 Portainer 失败(未找到),但根据日志,它似乎 运行 没问题:
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
0ugklcrsxtw7 portainer_portainer replicated 1/1 portainer/portainer:latest *:4321->9000/tcp
docker service logs 0ugklcrsxtw7
portainer_portainer.1.vom7rarh9ccn@default | 2018/02/07 20:37:45 Starting Portainer 1.16.1 on :9000
docker-compose.yml
:
version: ‘3’
services:
portainer:
image: portainer/portainer:latest
ports:
- "4321:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer:/data
volumes:
portainer:
我想在一个接口上初始化一个群,而不是一个很可能会改变的 IP。这是如何实现的?
Docker 工具箱使用 VirtualBox 启动预装 docker 的虚拟机。
docker-machine ls
应该向您显示快速启动终端在您首次打开时创建的 "default" 机器。
只要此 VM 在 VirtualBox 中使用其默认配置,它就应该具有 192.168.99.100
如果您在 VirtualBox 中有其他 VM(您可以使用 docker-machine create <some-name>
创建许多 docker 节点),请确保以与 docker-machine start <name>
相同的顺序或在 VirtualBox 中启动它们GUI,因为它会给出从 100 开始的 IP 并上升。