有没有办法做到使用docker文件绑定主机上的特定端口到容器端口
有没有办法做到使用docker文件将主机上的特定端口绑定到容器端口
在docker文件中我有以下项目步骤1:EXPOSE 8090:8080
但是当我运行docker运行,容器绑定到端口8080而不是8090docker文件中所述。
任何想法如何我可以实现这个使用docker文件或有没有更好的办法来实现这一点。
无法看到, EXPOSE
实现了EXPOSE
function,正如您所描述的那样。
从文档 :
暴露
EXPOSE <port> [<port>...]
EXPOSE
指令通知Docker,容器将在运行时监听指定的networking端口。 Docker使用这些信息来使用链接互连容器(请参阅Docker用户指南 )。
EXPOSE
不是stream浪者forwarded_port
function的等价物。
当你需要链接容器时,这很有用。
如果您需要将端口从容器转发到主机,请使用-p
标志。
例:
docker run -it -p 80:80 5959f94a4d10 /bin/bash
有没有办法做到使用docker文件将主机上的特定端口绑定到容器端口
Dockerfile
被devise为只包含便携式configuration。 绑定到主机端口是不可移植的,因为主机端口可能在每个系统上都不可用。 这些configuration标志可能在运行时可用,但不包括在Dockerfile语法中(以及由此产生的Docker镜像)。
在这种情况下,主机端口和其他非便携式configuration(例如卷挂载)是容器的HostConfig
结构的一部分。 这些仅在容器运行时可用。