Docker容器添加新端口映射的方法与详细步骤

 更新时间:2023年08月29日 11:27:50   作者:donglianyou  
这篇文章主要给大家介绍了关于Docker容器添加新端口映射的方法与详细步骤,Docker 端口映射即映射容器内应用的服务端口到本机宿主机器,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

在Docker容器已经创建后,需要添加新的端口映射,即对已经存在的Docker容器添加新的端口映射,可以通过以下步骤来添加,即通过修改配置文件的方法。

Windows 10 下 Dockers容器的配置文件修改步骤:

1、先找到要修改的容器hash值:

docker inspect 容器名称

2、然后退出docker Desktop服务

(因为在线状态配置文件修改保存不了)

3、资源管理器中打开最新安装的Docker的配置文件的路径:

\\wsl$\docker-desktop-data\data\docker\containers\[容器hash值] win11一般为: \\wsl.localhost\docker-desktop-data\data\docker\containers\[容器hash值]

4、修改配置文件

打开后修改其中的 config.v2.json 和 hostconfig.json

config.v2.json有两处需要添加,只修改一处,是不行的:

位置1:

"ExposedPorts":{"20/tcp":{},"21/tcp":{},"22/tcp":{},"3306/tcp":{},"443/tcp":{},"6379/tcp":{},"80/tcp":{},"8081/tcp":{},"8082/tcp":{},"8083/tcp":{},"8084/tcp":{},"888/tcp":{},"8888/tcp":{},"9501/tcp":{},"9502/tcp":{}} 

位置2:

"Ports":{"20/tcp":[{"HostIp":"0.0.0.0","HostPort":"1020"}],"21/tcp":[{"HostIp":"0.0.0.0","HostPort":"1021"}],"22/tcp":[{"HostIp":"0.0.0.0","HostPort":"1022"}],"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"13306"}],"443/tcp":[{"HostIp":"0.0.0.0","HostPort":"10443"}],"6379/tcp":[{"HostIp":"0.0.0.0","HostPort":"16379"}],"80/tcp":null,"8081/tcp":[{"HostIp":"0.0.0.0","HostPort":"8081"}],"8082/tcp":[{"HostIp":"0.0.0.0","HostPort":"8082"}],"8083/tcp":[{"HostIp":"0.0.0.0","HostPort":"8083"}],"8084/tcp":[{"HostIp":"0.0.0.0","HostPort":"8084"}],"888/tcp":[{"HostIp":"0.0.0.0","HostPort":"888"}],"8888/tcp":[{"HostIp":"0.0.0.0","HostPort":"8888"}],"9501/tcp":[{"HostIp":"0.0.0.0","HostPort":"9501"}],"9502/tcp":[{"HostIp":"0.0.0.0","HostPort":"9502"}]} 

hostconfig.json 有一处:

"PortBindings":{"20/tcp":[{"HostIp":"","HostPort":"1020"}],"21/tcp":[{"HostIp":"","HostPort":"1021"}],"22/tcp":[{"HostIp":"","HostPort":"1022"}],"3306/tcp":[{"HostIp":"","HostPort":"13306"}],"443/tcp":[{"HostIp":"","HostPort":"10443"}],"6379/tcp":[{"HostIp":"","HostPort":"16379"}],"8081/tcp":[{"HostIp":"","HostPort":"8081"}],"8082/tcp":[{"HostIp":"","HostPort":"8082"}],"8083/tcp":[{"HostIp":"","HostPort":"8083"}],"8084/tcp":[{"HostIp":"","HostPort":"8084"}],"888/tcp":[{"HostIp":"","HostPort":"888"}],"8888/tcp":[{"HostIp":"","HostPort":"8888"}],"9501/tcp":[{"HostIp":"","HostPort":"9501"}],"9502/tcp":[{"HostIp":"","HostPort":"9502"}]} 

5、启动Docker Desktop服务:

点击容器名称 - 点击 Imspect 即可查看到映射的端口列表

补充知识:如何给运行中的docker容器增加映射端口

命令行操作

#1、查看容器的信息
docker ps -a
#2、查看容器的端口映射情况,在容器外执行:
docker port 容器ID 或者 docker port 容器名称
#3、查找要修改容器的全ID
docker inspect 容器ID |grep Id
#4、进到/var/lib/docker/containers 目录下找到与全 Id 相同的目录,修改 其中的hostconfig.json 和 config.v2.json文件:
#注意:若该容器还在运行中,需要先停掉
docker stop 容器ID 或者 docker stop 容器名称
#再停掉docker服务
systemctl stop docker
#可能会提示错误 Warning: Stopping docker.service, but it can still be activated by:
  docker.socket 不要管他 这是docker在关闭状态下被访问自动唤醒机制,很人性化,即这时再执行任意docker命令会直接启动
#5、修改hostconfig.json如下
#	格式如:"{容器内部端口}/tcp":[{"HostIp":"","HostPort":"映射的宿主机端口"}]
"PortBindings":{"22/tcp":[{"HostIp":"","HostPort":"3316"}],"80/tcp":[{"HostIp":"","HostPort":"801"}]}
#6、修改config.v2.json在ExposedPorts中加上要暴露的端口
#	两个地方
"ExposedPorts":{"3306/tcp":{},"80/tcp":{}}"
"Ports":{"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"33061"}],"80/tcp":[{"HostIp":"","HostPort":"801"}]}"

最后改完之后,重启docker服务就行了

systemctl restart docker

总结 

到此这篇关于Docker容器添加新端口映射的方法与详细步骤的文章就介绍到这了,更多相关Docker容器添加新端口映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Docker 通过端口来连接一个容器的实现

    Docker 通过端口来连接一个容器的实现

    这篇文章主要介绍了Docker 通过端口来连接一个容器的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker-compose安装db2数据库操作

    docker-compose安装db2数据库操作

    这篇文章主要介绍了docker-compose安装db2数据库操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Docker制作镜像的完整过程

    Docker制作镜像的完整过程

    本文主要介绍了Docker制作镜像的完整过程,以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓库的过程,感兴趣的可以了解一下
    2021-11-11
  • Docker容器迁移Oracle到MySQL的实现方法

    Docker容器迁移Oracle到MySQL的实现方法

    本文主要介绍了Docker容器迁移Oracle到MySQL的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker解决终端无法输入中文的问题

    Docker解决终端无法输入中文的问题

    这篇文章主要介绍了Docker解决终端无法输入中文的问题,帮助大家更好的理解和学习docker的用法,感兴趣的朋友可以了解下
    2020-08-08
  • jenkins+gitlab+nginx部署前端应用实现

    jenkins+gitlab+nginx部署前端应用实现

    在日常开发中,往往可能同时多个项目并行进行开发,本文介绍了jenkins+gitlab+nginx部署前端应用实现,感兴趣的可以了解一下
    2021-05-05
  • 详解如何将docker快速升级到最新版本

    详解如何将docker快速升级到最新版本

    最近在对区块链浏览器调优,该区块链浏览器就是使用docker部署的微服务,在一台新的服务器上启动时报错,发现是docker版本过低,所以本文给大家介绍了将docker快速升级到最新版本的方法,需要的朋友可以参考下
    2024-02-02
  • docker离线部署docker,部署业务方式

    docker离线部署docker,部署业务方式

    这篇文章主要介绍了docker离线部署docker,部署业务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker私库Harbor的架构与组件说明

    docker私库Harbor的架构与组件说明

    今天小编就为大家分享一篇关于docker私库Harbor的架构与组件说明,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Docker中部署Mino并挂载配置文件的项目实践

    Docker中部署Mino并挂载配置文件的项目实践

    本文主要介绍了Docker中部署Mino并挂载配置文件的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论