我有一台Windows 7笔记本电脑,我需要制作一个节点,而且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 (广告和收听),这似乎已经起到了启动群体的作用。但是,使用环回会对访问容器有任何负面/副作用吗?我似乎无法通过compose文件中的映射端口访问任何内容。
例如,尝试访问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。怎么能实现呢?
答案 0 :(得分:2)
Docker Toolbox使用VirtualBox启动预先安装了docker的VM。
docker-machine ls
应该会显示&#34;默认&#34;第一次打开时快速启动终端创建的机器。
只要此VM在VirtualBox中使用其默认配置,它的私有IP应为192.168.99.100
如果VirtualBox中有其他VM(您可以使用docker-machine create <some-name>
创建许多docker节点),请确保以docker-machine start <name>
或VirtualBox GUI中的相同顺序启动它们,因为它会让IP从100开始上升。