2016-04-25 88 views
-1

我正在面临docker中配置网络的问题。详情如下。与Docker网络连接问题

主机: - Ubuntu服务器14.04 LTS 64位。 IP子网:10.0.0.0/16,IP地址:10.0.0.206/16,默认网关:10.0.0.1/16。该机器安装了docker(版本1.6.2 build 7c8fca2),并在docker0网桥172.17.42.1/16中具有默认IP。但是,该容器已收到IP为172.17.0.1。问题如下。

  1. 我的主机和码头工人的容器能够与彼此和Internet,但任何其他机器不能用泊坞窗连接容器连接。

  2. 更改docker0网桥IP是临时的,每次重新启动时都会恢复为172.17.42.1/16。

  3. 我无法设置我的容器的静态IP地址,因为它在每个出口自动更改或者主机重新启动。检查了容器的网络配置文件/ etc/network/interfaces,但在该文件中进行更改不会影响其eth0接口。

在很短的,我不能够连接到容器从外部世界(从其他物理机),即使我已经配置其他机器的网络接口连接到主机泊坞窗和容器。

我该如何解决这个连接问题?

+0

什么是协议和端口,你想从外部连接到码头集装箱?你是如何运行容器的? 'docker run -d -p xx:xx image' –

+0

我想到的第一个问题是:为什么要运行相当过时的Docker版本?我说,以防万一有其他问题给你带来麻烦。被警告说,他们在1.9中改变了docker0的IP(我相信)。另外,我记得在一个容器中设置一个静态IP地址是一种反模式,但如果你必须的话,那么你必须确保你_docker提交了这个信息,否则每当你重启容器时它就会消失。 – Marakai

回答

-1

默认情况下,不能从其他主机访问Docker容器。这个IP地址是由docker分配的。

运行容器时可以使用“--net = host”,那么容器将与主机节点共享相同的IP地址。容器将从其他节点可用。

docker run -it --net=host ubuntu bash