我使用命令 "docker run -p 80808080 --name my_local_image ......",但它失败了,说无法在本地找到图像'80808080:last'。
80808080 = 这两个端口到底代表什么?
替换这个" -p 80808080 "由这个" -p 8080:8080 ip::containerPort
例如:我想在docker上运行tomcat服务器,tomcat的默认端口是 8080 我想把我的docker暴露在端口上。9000 所以我必须写。
docker run -p 9000:8080 --name myTomcatContainer tomcat
的 -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或)。