windows - 适用于 Windows 的 Docker : cannot assign requested address

标签 windows networking docker

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

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

这是我的 docker-compose.yaml:

version: '2'
services:
  nginx:
    image: nginx:lastest
    ports:
      - "127.0.0.100:80:80"

如果我尝试分配 10.240.0.100,我会收到此错误: 启动 userland 代理时出错:listen tcp 10.240.0.100:80: bind: cannot assign requested address

我错过了什么?我是否必须配置 Windows 以支持这些地址?

最佳答案

这是使用 Docker for Windows 吗?这样,您就只能将内容绑定(bind)到主机上的 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

初始化群:

> 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

添加 worker :

> 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

SSH 进入 master 并进入城镇(或从主机使用它):

> docker-machine ssh master
> docker node ls
 ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
 aojoo2h0uuj5hv1c9xajo67o2    worker1   Ready   Active
 eqt1yd8x52gph3axjkz8lxl1z *  master    Ready   Active        Leader

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

关于windows - 适用于 Windows 的 Docker : cannot assign requested address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39159740/

相关文章:

python - 仅依赖时间同步两个远程程序(Python)

docker - Docker 中的 Elasticsearch 没有到主机的路由

docker - 有什么方法可以从Docker容器运行 “pkexec”吗?

sql-server - Macbook Pro 上的 Azure Data Studio 服务器连接错误

c# - 如何使用 C# .NET 在 Windows 中使用 "unpair"、 "remove"蓝牙设备

swift - 使用 Just 加载数据时 iOS 应用程序崩溃

c++ - 替换 sync() 命令

iphone - iPhone 之间的屏幕共享

python - 从 Python (Windows) 运行 R 脚本时出现问题

windows - 从 wp7 进行 HTTPS 调用时出现 "Server not found error "