gpt4 book ai didi

linux - 如何在 Docker 容器中设置静态 IP 地址?

转载 作者:IT老高 更新时间:2023-10-28 12:37:22 26 4
gpt4 key购买 nike

我对 docker 默认提供的 IP 范围非常满意 176.17.x.x,所以我不需要创建新的网桥,我只想给我的容器一个静态地址这个范围内,所以我可以直接将客户端浏览器指向它。我尝试使用

RUN echo "auto eth0" >> /etc/network/interfaces
RUN echo "iface eth0 inet static" >> /etc/network/interfaces
RUN echo "address 176.17.0.250" >> /etc/network/interfaces
RUN echo "netmask 255.255.0.0" >> /etc/network/interfaces
RUN ifdown eth0
RUN ifup eth0

来自 Dockerfile,它正确地填充了接口(interface)文件,但接口(interface)本身并没有改变。事实上,在容器内运行 ifup eth0 会得到这个错误:

RTNETLINK answers: Operation not permitted Failed to bring up eth0

最佳答案

我已经在这里回答过了 https://stackoverflow.com/a/35359185/4094678但我现在看到这个问题实际上比上述问题更老,所以我也会复制答案:

轻松使用 Docker 版本 1.10.1,构建 9e83765。

首先您需要创建自己的 docker 网络 (mynet123)

docker network create --subnet=172.18.0.0/16 mynet123

而不是简单地运行图像(我将以 ubuntu 为例)

docker run --net mynet123 --ip 172.18.0.22 -it ubuntu bash

然后在 ubuntu shell 中

ip addr

另外你可以使用
--hostname 指定主机名
--add-host 添加更多条目到 /etc/hosts

文档(以及为什么需要创建网络)位于 https://docs.docker.com/engine/reference/commandline/network_create/

关于linux - 如何在 Docker 容器中设置静态 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529386/

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