解决方案

  1. 首先通过命令docker inspect [OPTIONS] NAME|ID查得要添加映射的 container 的 Id
  2. Mac 下 Docker Containers配置文件在~/Library/Containers/com.docker.docker目录,进入该目录,我们要修改的文件在Data/vms/0下,进入后发现有个tty文件,使用screen tty登录,会进入一个新的screen窗口
  3. 进入/var/lib/docker/containers目录

     找到第 1 步查得的 Id 目录,进入后修改或添加config.v2.json和hostconfig.json文件对应的 Port 映射部分。
     config.v2.json文件修改添加Config.ExposedPorts部分, 如我们需要添加8080端口,则在ExposedPorts数组下添加"8080/tcp":{}项:
     hostconfig.json文件修改添加PortBindings部分,还以8080端口为例:
     修改完以上两个文件后保存并退出screen
    
  4. 启 Docker,此时查看 containers 还看不到修改后的端口映射,不过无所谓,已经修改成功了,启动 container,然后再 docker ps会发现修改后的配置已经显示在PORTS中了
文章目录