win10 docker 修改映射端口号

一、注意

文章中有几个注意点:

  • 涉及到2个配置文件,一个是 hostconfig,一个是 config.v2 ,并不是一个配置文件
  • 先把容器停止了,再去修改容器的配置文件
  • 修改完配置文件以后,需要重启 docker 服务,而不是重启容器
  • 修改端口时,要分清楚容器的端口号,和透出去的端口

  这几个点注意了,应该是可以修改成功了

二、实战

  因为容器的配置是json格式,我是用的notepad++ 的json插件来可视化的,这样更改起来不容易出错

\\wsl$\docker-desktop-data\version-pack-data\community\docker\containers\

  将上面的命令,输入windows磁盘的快速访问,就可以看到你的所有容器的配置目录,然后进入对应容器目录,修改对应容器的配置即可

后来我更换了固态硬盘,地址就变成如下了

\\wsl.localhost\docker-desktop-data\data\docker\containers

  这个目录是可以试的,以后一旦更换硬盘啥的,你可以先输入 \wsl$,看看这个目录下都有啥,最终就可以找到docker 配置所在的位置
  而且这个目录下会记录启动日志,这个简直太棒了,当你启动容器,你就可以看看哪里出问题了

2.1 修改文件 hostconfig

  这里需要把容器先停止掉
  因为修改是很容易出错的,有可能就少了逗号,或者大括号对不上了,所以先备份文件,以便出错时,可以回滚
更改前配置如下:

"PortBindings": {
		"22/tcp": [
			{
				"HostIp": "",
				"HostPort": "20215"
			}
		],
		"5555/tcp": [
			{
				"HostIp": "",
				"HostPort": "25555"
			}
		]
	},

  我原来 docker 容器的端口对应是,20215端口映射到容器的22端口,25555端口映射到容器的5555端口,我现在想把宿主机的5555端口映射到容器的5555端口,同时添加,宿主机的5556端口映射到容器的5556端口,更改后的结果如下

"PortBindings": {
		"22/tcp": [
			{
				"HostIp": "",
				"HostPort": "20215"
			}
		],
		"5555/tcp": [
			{
				"HostIp": "",
				"HostPort": "5555"
			}
		],
		"5556/tcp": [
			{
				"HostIp": "",
				"HostPort": "5556"
			}
		]
	},

2.2 修改配置文件 config.v2

  注意这个配置文件是 config.v2,和上面的配置文件 hostconfig 是不一样的,也需要先备份一下
更改前的配置:

"ExposedPorts": {
			"22/tcp": {},
			"5555/tcp": {}
		},

更改后的结果:

"ExposedPorts": {
			"22/tcp": {},
			"5555/tcp": {},
			"5556/tcp": {}	
		},

2.3 重启

  重启整个 docker 服务,然后再修改修改的容器

2.4 查看结果

  在重启完docker 服务,同时把容器启动以后,再去查看端口是否修改成功,可以在界面上,通过 docker 的 inspect 选项 查看端口是否修改成功,如下:

展示结果:
在这里插入图片描述

通过 docker 的inspect 查看,端口已经修改成功了
这张截图中的端口可能对不上,但主要是看看,是从哪里查看端口是否修改成功的

参考文章:
[1] 主要参考的文章

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值