在Dockerfile中桥接networking连接

我有这个Dockerfile:

FROM php:5.6-cli VOLUME /usr/src/up WORKDIR /usr/src/up RUN docker-php-source extract \ && docker-php-ext-install pdo pdo_mysql && docker-php-source delete RUN echo "date.timezone = Europe/Paris" >> /usr/local/etc/php/php.ini \ 

这个使用PHP5.6创build一个新的虚拟机,安装pdo和pdo_mysql扩展,并在php.ini中指定时区。

我的问题是,默认情况下,虚拟机具有“NATnetworkingIP地址”。 正因为如此,FTP连接脚本不起作用,我有这个错误:

 Warning: ftp_get(): I won't open a connection to 172.17.0.2 (only to xxxx) 

所以我希望我的虚拟机具有“桥接networkingIP地址”,并从我的DHCP获取其IP地址。

我怎样才能做到这一点 ? 我可以将其包含在Dockerfile中以便于其他人的工作吗?

提前致谢 !

亲切的问候,托马斯

默认情况下,docker服务器会创build一个默认网桥,但您可以创build自己的网桥,并在启动时将您的容器分配给该自定义网桥。 或者你可以使用docker network命令,这似乎是一个更容易的path。 这样你可以指定IP范围来匹配你的DHCP设置。

创build你自己的桥梁

 docker network create --driver=bridge \ --subnet=192.168.127.0/24 --gateway=192.168.127.1 \ --ip-range=192.168.127.128/25 yourbridge 

使用您的自定义桥运行容器;

 docker run -d --net=yourbridge .. 

看到这个博客文章的具体例子: http : //www.dasblinkenlichten.com/docker-networking-101-user-defined-networks/

在用户定义的网桥networking中,不支持链接。 您可以在此networking中的容器上公开和发布容器端口。 如果您希望将网桥的一部分用于外部networking,这非常有用。

在这里输入图像说明