赞
踩
前言:笔者想配置容器本身的端口映射,有2种方式:
- 将现有的容器打包成镜像,然后在使用新的镜像运行容器时重新指定要映射的端口
- 修改要端口映射的容器的配置文件(我们采用第二种)
但是baidu和google上的资料几乎没有解决问题。因为Mac下运行docker容器时,其卷挂载方式与在普通Linux上不同。所以docker inspect 获取的配置文件地址在宿主机上(MAC)直接查找的情况下是找不到的。那如何在Mac下修改容器配置呢?
请记住此时的/var/lib/docker/containers/2bc0570d9fec002389272e066987b8028e0b295f162aa8e7177147d43ec1419d路径。
并且 docker stop 容器(关键)
(1)新开一个终端窗口,输入:
- screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
screen 命令执行后会出现空白,我们按回车即可
screen
,按ctrl+a
+ k
,最后按y
确认即可以kill
掉这个screen
了screen
,下次再进去,使用ctrl+a
+ d
,而如果需要再次进入的时候应当使用screen -dr
,否则使用screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
再进去会是无法操作情况,将这个screen
干掉即可screen即可
(1)进入我们记住的路径
cd /var/lib/docker/containers/2bc0570d9fec002389272e066987b8028e0b295f162aa8e7177147d43ec1419d
(2)修改hostconfig.json,在PortBindings下添加端口绑定"5291/tcp": [{"HostIp": "","HostPort": "5291"}],表示绑定端口5291
(3)修改config.v2.json在ExposedPorts中加上要暴露的端口,即5291
(4)修改完后重启Docker DeskTop 并且 直接关掉 linuxkit 窗口(按ctrl+a
+ k
,最后按y
确认即可以kill
掉这个screen
了)
(1)docker restart 容器
(2)docker port 容器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。