gpt4 book ai didi

docker - 在内部 IP 上的随机端口上公开容器

转载 作者:行者123 更新时间:2023-12-02 21:25:48 25 4
gpt4 key购买 nike

我希望能够运行带有 -P 的容器参数,同时将其绑定(bind)到内部 10.10.0.0/22 子网。

默认情况下,一次做这样的事情:

docker run -d -P --name=nginx nginx

它看起来像这样:
CONTAINER ID        IMAGE         COMMAND                  CREATED             STATUS              PORTS                        NAMES
dbb556c99c81 nginx "/usr/sbin/nginx" 2 minutes ago Up 2 minutes 0.0.0.0:32773->80/tcp nginx

在 0.0.0.0/0 上公开它有没有办法让它成为我的内部 IP?

最佳答案

使用 -p 选择单个端口时,您可以手动绑定(bind)到特定接口(interface),例如:

$ docker run -d -p 127.0.0.1:8080:80/tcp --name test-nginx nginx
2e07ebc61bcdc82a187a27eabca10211a4c9ac09d66e516e5c176d7282cffe2b

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e07ebc61bcd nginx "nginx -g 'daemon off" 5 seconds ago Up 2 seconds 443/tcp, 127.0.0.1:8080->80/tcp test-nginx

-P ,它使用在守护进程上配置的接口(interface)( dockerddocker daemon )。默认情况下为 0.0.0.0,但您可以将其更改为任何其他 IP:
$ dockerd --help
# ...
--ip=0.0.0.0 Default IP when binding container ports

请注意,0.0.0.0 正在监听所有接口(interface),因此指定特定 IP 的唯一原因是进一步锁定容器,而不是为您的环境打开它。

关于docker - 在内部 IP 上的随机端口上公开容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38792099/

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