打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何使用Docker暴露多个端口?

本文翻译自:How can I expose more than 1 port with Docker?

So I have 3 ports that should be exposed to the machine's interface. 所以我有3个端口应该暴露在机器的界面上。 Is it possible to do this with a Docker container? 是否可以使用Docker容器执行此操作?


#1楼

参考:https://stackoom.com/question/1PSka/如何使用Docker暴露多个端口


#2楼

To expose just one port, this is what you need to do: 要暴露一个端口,这是您需要做的:

docker run -p <host_port>:<container_port>

To expose multiple ports, simply provide multiple -p arguments: 要公开多个端口,只需提供多个-p参数:

docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>

#3楼

Step1 步骤1

In your Dockerfile , you can use the verb EXPOSE to expose multiple ports. Dockerfile ,您可以使用动词EXPOSE来显示多个端口。
eg 例如

EXPOSE 3000 80 443 22

Step2 第2步

You then would like to build an new image based on above Dockerfile . 然后,您想基于上面的Dockerfile构建一个新图像。
eg 例如

docker build -t foo:tag .

Step3 第三步:

Then you can use the -p to map host port with the container port, as defined in above EXPOSE of Dockerfile . 然后可以使用-p映射主机端口与所述容器端口,如在上面所定义EXPOSEDockerfile
eg 例如

docker run -p 3001:3000 -p 23:22

In case you would like to expose a range of continuous ports, you can run docker like this: 如果您想公开一系列连续端口,可以像这样运行docker:

docker run -it -p 7100-7120:7100-7120/tcp 

#4楼

if you use docker-compose.yml file: 如果你使用docker-compose.yml文件:

  1. services:
  2. varnish:
  3. ports:
  4. - 80
  5. - 6081

You can also specify the host/network port 您还可以指定主机/网络端口

  1. varnish:
  2. ports:
  3. - 80:80
  4. - 6081:6081
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
docker 网络之端口映射不完全探索 | LearnKu 终身编程者的知识社区
docker镜像创建与基本使用
.NET 5 部署在docker上运行
Dokcer入门之发布.NET Core 3.x
docker3 docker-compose
python测试开发django-180.docker-compose部署django+mysql环境
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服