Mac系统下给Docker增加端口 热增加

26点 林涛 6884℃ 0评论

在mac环境下,docker的安装目录和阿里云上是不一样的,所以这里单独备注一下mac下的docker增加端口、映射目录的设置方法。

1.获取id

获取id的方式很多,用你自己熟悉的一种方式就行,只要能获取到id就可以跳入到第2步

docker inspect mnginx | grep Id
// 返回id:"Id": "27b898aa3e89054dfa5b8c898b01f48b5bb9d59316b8dcb315b63708a702dc9a",

2.进入配置文件

这一步是最重要也是最关键的:

Mac下Docker容器的配置文件在~/Library/Containers/com.docker.docker目录,需要修改的文件在Data/vms/0下

cd ~/Library/Containers/com.docker.docker
 cd Data/vms/0

3.进入screen

在~/Library/Containers/com.docker.docker/Data/vms/0目录下有一个tty文件,在终端键入screen tty进行登录,此时会进入一个screen空白窗口,回车即可

这里会有另外一种情况“没有tty文件”,会有“screen is terminating  提示”,如果是这种情况请看最下的说明。

docker-desktop:~#
//进入到/var/lib/docker/containers目录 cd /var/lib/docker/containers && ls // 会看到形如如下的一堆数字的文件夹,每个文件夹对一个docker e29f1684f2d44ba979e1f7c6b3857f54b8eda7987a455a5907605570d8a44e41 e2d21b78fdb03c252bde833e0f0d319c908cb9e4992026eb27bbcc0945a10a12 e5096bceac6e89ff2961928b435c64291cff7bf7eadfbe86eda91751d46739e5 //进入到刚刚获取的id的docker中 cd 27b898aa3e89054dfa5b8c898b01f48b5bb9d59316b8dcb315b63708a702dc9a && ls

4.进入容器对应的文件夹

27b898aa3e89054dfa5b8c898b01f48b5bb9d59316b8dcb315b63708a702dc9a-json.log
checkpoints
config.v2.json
hostconfig.json
hostname
hosts
mounts
resolv.conf
resolv.conf.hash

5.修改配置内容

需要修改config.v2.json和hostconfig.json文件对应的端口映射部分,

修改config.v2.json: 在这里编辑端口
"ExposedPorts":{"80/tcp":{},"7890/tcp":{}}
修改hostconfig.json,在这里编辑端口
"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"8080"}]}

6.保存&退出screen&重启docker

输入ctrl+a+c(先按ctrl,再按a,然后按c即可),重启Docker后,启动容器,使用docker ps查看端口是否已经绑定成功。
如果未成功,回到步骤 ⑤ 看下2个文件是否保存

 

另外一种情况,也是常见情况:

执行screen tty提示screen is terminating 的解决方法:

docker run -it --privileged --pid=host justincormack/nsenter1

执行上面命令,啥也不要改,第一次执行会进入容器终端,接着执行

cd /var/lib/docker/containers && ls

可以看到,这个命令跟我们上面第④步完全一样,但这个不是screen视图,而是我们的docker容器,找到我们要修改的containerId,进入并修改config.v2.json和hostconfig.json即可,然后按照⑦重启即可。
ps.如果已经执行过了第一条命令,再修改其他容器的端口只需要启动nsenter1这个容器,再修改对应容器的配置文件即可。

 

 

 

如需转载请注明: 转载自26点的博客

本文链接地址: Mac系统下给Docker增加端口 热增加

转载请注明:26点的博客 » Mac系统下给Docker增加端口 热增加

喜欢 (0)
发表我的评论
取消评论

表情