Docker run -p ? (这两个端口号是什么,代表什么)

问题描述 投票:0回答:1

我使用命令 "docker run -p 80808080 --name my_local_image ......",但它失败了,说无法在本地找到图像'80808080:last'。

80808080 = 这两个端口到底代表什么?

java spring-boot docker docker-container docker-image
1个回答
1
投票

替换这个" -p 80808080 "由这个" -p 8080:8080 ip::containerPort

例如:我想在docker上运行tomcat服务器,tomcat的默认端口是 8080 我想把我的docker暴露在端口上。9000 所以我必须写。

docker run -p 9000:8080 --name myTomcatContainer tomcat 

3
投票

-p 选项用于公开用于映像实例的端口。第一个是主机端口,": "后面的第二个参数是应该映射到的容器端口。fullcolon 后面的第二个参数是它应该被映射到的容器端口。更多细节请阅读 文档.

当你使用docker run启动实例时收到的错误告诉我们,你用命令提供的映像名称在你使用的机器上不是本地可用的,这也可能是你用''而不是": "提供端口的方式的问题,所以,为了安全起见,使用 docker pull 首先从repo中提取最新的镜像,然后用正确的语法运行。

--expose=[]。在容器中暴露一个端口或一系列端口。 这些端口是在 EXPOSE 指令

-P : 将所有暴露的端口发布到主机接口上。

-p=[] : 将容器的端口或端口范围发布到主机上,格式为:ip:hostPort:containerPort tcp 当只为hostPort指定范围时,containerPort必须不是一个范围。 在这种情况下,容器端口会在指定的hostPort范围内的某个地方发布。(例如 -p 1234-1236:1234/tcp)(使用'docker port'查看实际映射)

--link="":添加链接到另一个容器(:alias或)。

© www.soinside.com 2019 - 2024. All rights reserved.