在容器首次启动是,可通过-p参数(-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如:
上述命令将容器内的80端口映射到宿主机的8088端口。
参数说明
当容器已经运行之后,且容器中已经有配置改动,不方便重新创建逐一修改配置时,则可通过两种方式新增端口映射。
方式一:打包新镜像
如果正在运行的容器已经修改了很多配置,重新创建镜像,修改配置比较麻烦时,可在现有的容器基础上打包一个镜像。
然后在运行新镜像时进行端口映射的新增或修改。
基本步骤:
停止指定容器:
将容器commit成为一个镜像:
提交时可以添加一些说明信息,比如使用 -m 选项后面跟的字符串。
需要注意的是,容器在提交之前需要先停止。如果容器正在运行,则提交操作将失败。此外,提交的容器必须是基于一个基础镜像构建的,否则提交操作也将失败。
用新镜像运行容器:
至此,原有容器内配置不变,在启动时进行了新的端口映射。
方式二:修改配置文件
修改配置文件,此种方式稍微有些麻烦,而且在操作过程中需要把的docker服务停掉,使用时需注意。
查看容器信息:
查看容器的端口映射情况,在容器外执行:
查找要修改容器的容器Id:
执行命令结果:
不同的容器Id不同,然后在/var/lib/docker/containers目录下找到与上述Id相同的目录,修改该目录下的 hostconfig.json 和 config.v2.json文件。
在修改之前,还需要停到容器和docker服务。
停掉容器:
停掉docker服务:
修改hostconfig.json,添加端口绑定"443/tcp": [{“HostIp”: “”,“HostPort”: “443”}],表示绑定端口443:
找到key为PortBindings的配置,在其value部分中新增了443相关的配置。
修改config.v2.json文件,在ExposedPorts中加上要暴露的端口,即443:
找到key为ExposedPorts的配置,在其value部分新增443的配置。
保持配置文件,重启docker服务和容器:
此时,再用前面提到的docker port命令即可看到新增的端口已经绑定成功。
到此这篇docker启动全部容器(docker启动容器映射端口)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/26298.html