尝试运行容器时,docker是否需要其他端口?

时间:2018-08-10 09:27:04

标签: docker docker-container

在我的工作场所中,泊坞窗在防火墙后面运行,规则只排除了用于服务网页的端口。

容器启动,但网站未打开同一端口。

如果我使用python -m SimpleHTTPServer从运行容器的机器托管网站,则它可以正常工作。

docker container run --restart=always -p 8081: 8082 -it vue-js-app: latest

1 个答案:

答案 0 :(得分:0)

来自Docker documentation

发布或公开端口(-p,-expose)

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
  

这会将容器的端口8080绑定到127.0.0.1上的TCP端口80   主机。您还可以指定udp和sctp端口。码头工人   用户指南详细说明了如何在Docker中操作端口。

$ docker run --expose 80 ubuntu bash
  

这将暴露容器的端口80,而不会将该端口发布到   主机系统的界面。

然后,从Docker User Guide

  

您还看到了如何将容器的端口绑定到特定端口   使用-p标志。此处,主机的端口80映射到主机的端口5000   容器:

$ docker run -d -p 80:5000 training/webapp python app.py

因此,作为如何公开可以使用的端口的示例:

docker container run --restart always -p 8081:8082 -it vue-js-app:latest