gpt4 book ai didi

docker - Dockerfile 中的桥接网络连接

转载 作者:行者123 更新时间:2023-12-02 11:36:16 24 4
gpt4 key购买 nike

我有这个 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 \

此命令使用 PHP 5.6 创建一个新的虚拟机,安装 pdo 和 pdo_mysql 扩展并在 php.ini 中指定时区。

我遇到的问题是,默认情况下,虚拟机有一个“NAT 网络 IP 地址”。因此,具有 FTP 连接的脚本不起作用,我收到此错误:

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

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

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

提前致谢!

亲切的问候,托马斯

最佳答案

默认情况下,docker 服务器会创建一个默认网桥,但 you can create your own bridge network并在启动时将您的容器分配给该自定义桥。或者您可以使用 docker network 命令,这似乎是一个更简单的路径。这样您就可以指定与您的 DHCP 设置相匹配的 IP 范围。

创建您自己的桥梁

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/

Within a user-defined bridge network, linking is not supported. You can expose and publish container ports on containers in this network. This is useful if you want to make a portion of the bridge network available to an outside network.

enter image description here

关于docker - Dockerfile 中的桥接网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42255781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com