一、运行容器 docker inspect 容器id 查看 容器信息并记录。

二、mac下面 ~/Library/Containers/com.docker.docker/Data/vms/0/tty

如果有tty:

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

如果没有tty:

docker run -it --privileged --pid=host 8652b9f0cb4c nsenter -t 1 -m -u -n -i sh

其中8652b9f0cb4c是镜像id

mac中的docker有两层虚拟机,两者的目的都是进入docker第一层虚拟机来修改docker配置

三、修改容器配置

$ vi /var/lib/docker/containers/{容器id}/config.v2.json
$ vi /var/lib/docker/containers/{容器id}/hostconfig.json

在config.v2.json的MountPoints节点下添加挂载信息,可参考如下:

    "/etc/xxx": {
      "Source": "/data/xxx",
      "Destination": "/etc/xxx",
      "RW": true,
      "Name": "",
      "Driver": "",
      "Type": "bind",
      "Propagation": "rprivate",
      "Spec": {
        "Type": "bind",
        "Source": "/data/xxx",
        "Target": "/etc/xxx/"
      },
      "SkipMountpointCreation": false
    }

在hostconfig.json的Binds节点添加挂载信息,可参考如下:

 "/data/xxx:/etc/xxx/"

四、修改后一定要保存,保存后关闭docker,然后重启启动运行容器即可。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注