gpt4 book ai didi

docker - 无法将服务器上的 docker 应用程序暴露给外部 IP

转载 作者:行者123 更新时间:2023-12-02 19:34:23 26 4
gpt4 key购买 nike

我正在尝试制作 this CNIL/PIA使用 docker 容器在我的服务器上可用的应用程序。但是,我似乎无法正确绑定(bind)我的机器和容器的端口。

我的 Dockerfile 是

from node

maintainer Théophile Dano <theophile@fifty-five.com>

run mkdir -p /app
run chown node:node /app

workdir /app

copy . /app

user node

expose 4200

run npm i

cmd ["./node_modules/.bin/ng", "server"]

启动我使用的容器的命令是:
docker run -i -t -P MY_SERVER_IP::4200 cnil-pia

在我的 IP 表中,我有 ( sudo iptables -t nat -L -n):
Chain DOCKER (2 references)
target prot opt source destination
RETURN all -- 0.0.0.0/0 0.0.0.0/0
DNAT tcp -- 0.0.0.0/0 MY_SERVER_IP tcp dpt:32768 to:172.17.0.2:4200

但是,当我尝试在浏览器中访问 MY_SERVER_IP:4200 时,该应用程序不可用。

关于我做错了什么的任何见解?还是根本不做?

最佳答案

您使用 -P输入您的docker run声明,意思是:

-P, --publish-all Publish all exposed ports to random ports



您需要使用 -p这是:

-p, --publish list Publish a container's port(s) to the host (default [])



此外,您还需要指定主机的端口。

所以,最后是:
docker run -it -p MY_SERVER_IP:4200:4200 cnil-pia

p.s.也许你需要在后台运行你的容器,所以它是:
docker run -d -p MY_SERVER_IP:4200:4200 cnil-pia

关于docker - 无法将服务器上的 docker 应用程序暴露给外部 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47452338/

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