Docker for Windows:无法分配请求的地址

mps*_*ang 5 windows networking docker

如何在 Hyper-V 上设置运行 Docker 1.12 的多主机?

我可以轻松分配 127.xxx ip,但我想分配例如 10.240.0.x。

这是我的 docker-compose.yaml:

version: '2'
services:
  nginx:
    image: nginx:lastest
    ports:
      - "127.0.0.100:80:80"
Run Code Online (Sandbox Code Playgroud)

如果我尝试分配 10.240.0.100 我收到此错误: 启动用户态代理时出错:监听 tcp 10.240.0.100:80: 绑定:无法分配请求的地址

我缺少什么?我是否必须配置 Windows 才能支持这些地址?

fri*_*ism 3

这是使用 Docker for Windows 吗?这样,您就只能将内容绑定到localhost主机上。

如果你想在你的机器上测试多节点集群,你需要设置一组单独的虚拟机:

> docker-machine create -d hyperv --hyperv-virtual-switch "Better New Virtual Switch" master
> docker-machine create -d hyperv --hyperv-virtual-switch "Better New Virtual Switch" worker1
> docker-machine create -d hyperv --hyperv-virtual-switch "Better New Virtual Switch" worker2
Run Code Online (Sandbox Code Playgroud)

初始化群:

> docker-machine inspect --format '{{ json .Driver.IPAddress }}' master
"192.168.202.112"
> docker-machine ssh master docker swarm init --advertise-addr 192.168.202.112
To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-4k5ljcmxs1d9q14lth4tfbg868lf8eqi5alxtvgo7s1ptyrhlu-3ihz3bfmx5622vei1smzetudf \
    192.168.202.112:2377
Run Code Online (Sandbox Code Playgroud)

添加工人:

> docker-machine ssh worker1 docker swarm join --token SWMTKN-1-4k5ljcmxs1d9q14lth4tfbg868lf8eqi5alxtvgo7s1ptyrhlu-3ihz3bfmx5622vei1smzetudf 192.168.202.112:2377
> docker-machine ssh worker2 docker swarm join --token SWMTKN-1-4k5ljcmxs1d9q14lth4tfbg868lf8eqi5alxtvgo7s1ptyrhlu-3ihz3bfmx5622vei1smzetudf 192.168.202.112:2377
Run Code Online (Sandbox Code Playgroud)

通过 SSH 连接到主机并进入城镇(或从主机使用它):

> docker-machine ssh master
> docker node ls
 ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
 aojoo2h0uuj5hv1c9xajo67o2    worker1   Ready   Active
 eqt1yd8x52gph3axjkz8lxl1z *  master    Ready   Active        Leader
Run Code Online (Sandbox Code Playgroud)

详细信息在这里:https ://github.com/docker/for-mac/issues/67#issuecomment-242239997