所以我有3个端口应该暴露在机器的界面上.是否可以使用Docker容器执行此操作?
在您的中Dockerfile
,您可以使用动词EXPOSE
来公开多个端口.
例如
EXPOSE 3000 80 443 22
然后,您想基于上面构建一个新图像Dockerfile
.
例如
docker build -t foo:tag .
然后可以使用-p
映射主机端口与所述容器端口,如在上面所定义EXPOSE
的Dockerfile
.
例如
docker run -p 3001:3000 -p 23:22
如果您想公开一系列连续端口,可以像这样运行docker:
docker run -it -p 7100-7120:7100-7120/tcp
如果您使用docker-compose.yml
文件:
services: varnish: ports: - 80 - 6081
您还可以指定主机/网络端口
varnish: ports: - 80:80 - 6081:6081
要暴露一个端口,这是您需要做的:
docker run -p <host_port>:<container_port>
要公开多个端口,只需提供多个-p
参数:
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>