有没有办法使用docker文件将主机上的特定端口绑定到容器端口

有没有办法使用docker文件将主机上的特定端口绑定到容器端口,docker,boot2docker,Docker,Boot2docker,有没有办法使用docker文件将主机上的特定端口绑定到容器端口 我在docker文件中有以下项目 步骤1:曝光8090:8080 但当我运行docker run时,容器绑定到端口8080,而不是docker文件中描述的8090 你知道我如何使用docker文件来实现这一点吗?或者有没有更好的方法来实现这一点。看不出docker实现了您描述的EXPOSE功能 从: 曝光 EXPOSE <port> [<port>...] 有没有办法使用docker文件将主机上的特定端口绑

有没有办法使用docker文件将主机上的特定端口绑定到容器端口

我在docker文件中有以下项目 步骤1:曝光8090:8080

但当我运行docker run时,容器绑定到端口8080,而不是docker文件中描述的8090


你知道我如何使用docker文件来实现这一点吗?或者有没有更好的方法来实现这一点。

看不出docker实现了您描述的
EXPOSE
功能

从:

曝光

EXPOSE <port> [<port>...]
有没有办法使用docker文件将主机上的特定端口绑定到容器端口

否。
Dockerfile
设计为仅包括便携式配置。绑定到主机端口是不可移植的,因为主机端口可能在每个系统上都不可用。这些配置标志可能在运行时可用,但不包括在Dockerfile语法(以及生成的Docker映像)中


在引擎盖下,主机端口和其他非便携式配置(例如卷安装)是容器的
HostConfig
结构的一部分。这些仅在容器运行时可用。

谢谢,我认为这很有意义。端口转发不是容器的功能,而是主机如何定制的产物。这可能就是DockerFile没有这种结构的原因
docker run -it -p 80:80 5959f94a4d10 /bin/bash