如何使用动态IP在Windows 7(作为单个节点)上启动群集

时间:2018-02-07 22:58:21

标签: docker docker-swarm

我有一台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。怎么能实现呢?

1 个答案:

答案 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开始上升。