【发布时间】:2019-11-22 07:07:51
【问题描述】:
我对 Docker 端口有些困惑。由于我不知道服务器的 IP,我无法检查自己。
在 Dockerfile 中我可以看到下面
EXPOSE 8080:8080
但是要运行容器,使用下面的命令运行相同的图像
docker run -d --restart=unless-stopped --name image1 -p 3000:8080 image1:latest
我的困惑是创建镜像主机端口在 Dockerfile 中被指定为 8080,但是当从相同的镜像主机端口运行容器时,给出的端口是 3000。那么这个容器将在哪个主机端口上运行,为什么?
【问题讨论】:
-
你的语法错误,只有
EXPOSE 8080。您不能在 Dockrfile 中将端口与主机端口绑定。 -
...作为一般规则,您不能在 Dockerfile 中指定主机 anything。
标签: docker dockerfile containers