Docker 容器中添加多个端口与宿主机映射
文章目录概要要点一、创建容器时映射多个端口二、运行中容器容器内已修改部分配置添加端口映射步骤 1停止容器步骤 2修改容器配置文件步骤 3重启 Docker 服务和容器步骤 4验证端口映射是否生效建议小结概要华为欧拉系统部署容器时添加多端口映射到宿主机要点一、创建容器时映射多个端口这是最常用、最规范的方式在执行 docker run 命令时通过多个 -p 参数来指定不同的端口映射关系格式为-p 宿主机端口:容器端口。# 基础格式docker run -itd -p 宿端口1:容器端口1 -p 宿端口2:容器端口2 --name 容器名 镜像名dockerrun-itd-p8080:80-p3306:3306-p8888:8080--namemy-container nginx参数说明-p 8080:80宿主机 8080 端口 – 容器 80 端口比如 Web 服务-p 3306:3306宿主机 3306 端口 – 容器 3306 端口比如 MySQL 服务-p 8888:8080宿主机 8888 端口 – 容器 8080 端口比如应用服务–name my-container给容器命名方便后续操作nginx你要运行的镜像名可替换为自己的镜像如 mysql、tomcat 等二、运行中容器容器内已修改部分配置添加端口映射如果容器已经创建并运行想要新增端口映射需要修改容器配置文件步骤如下步骤 1停止容器dockerstop my-container# my-container是你的容器名/ID步骤 2修改容器配置文件1、先查看容器的 ID确保准确dockerinspect my-container|grepId2、进入 Docker 容器配置目录不同系统路径可能略有差异Linux 默认如下cd/var/lib/docker/containers/容器ID/3、编辑 hostconfig.json 文件推荐用 vimvimhostconfig.json找到 PortBindings 字段添加新的端口映射比如原有映射是8080:80新增3306:3306后PortBindings:{80/tcp:[{HostIp:,HostPort:8080}],3306/tcp:[{HostIp:,HostPort:3306}]}4、编辑 config.v2.json 文件vimconfig.v2.json找到 ExposedPorts 字段添加要暴露的容器端口ExposedPorts:{80/tcp:{},3306/tcp:{}}步骤 3重启 Docker 服务和容器systemctl restartdocker# 重启Docker服务dockerstart my-container# 启动容器步骤 4验证端口映射是否生效dockerport my-container# 查看指定容器的端口映射# 或dockerps# 查看所有运行中容器的端口映射PORTS列至此就可以在宿主机尝试调用此端口的服务进行测试建议windows远程服务器可以用MobaXterm软件可在线编辑不用vim查看vim看服务器文件确实不太直观小结推荐方式创建容器时通过多个 -p 参数直接映射多个端口操作简单且不易出错。临时调整运行中的容器需修改配置文件 重启 Docker仅建议临时应急使用生产环境优先重建容器。核心格式每个端口映射独立用 -p 宿主机端口:容器端口端口号需确保宿主机未被占用。如果需要批量映射一段连续端口比如 8000-8010可以用 -p 8000-8010:8000-8010但不建议暴露过多端口仅映射业务需要的端口即可。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2433353.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!