创建数据卷


方法一:dockerfile 中指定 VOLUME 后的目录,如 VOLUME /var/lib/test

方法二:docker run 命令中加 -v 选项。如:

docker run -d -P -v /webapp training/webapp python app.py

注意: 这里定义的 /webapp 数据卷,但是不知道宿主机上与之对应的在哪里。我们需要仔细的观察 docker inspect 的结果,是非常长的一段东西。在这里我只摘出我们需要的部分:

"Mounts": [
    {
        "Type": "volume",
        "Name": "ae15b45565ac99bc8f770b226684f7ef707eb8a4d9b8111a0e6b8410ab7b7942",
        "Source": "/var/lib/docker/volumes/ae15b45565ac99bc8f770b226684f7ef707eb8a4d9b8111a0e6b8410ab7b7942/_data",
        "Destination": "/webapp",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
    }
]

"Volumes": {
    "/webapp": {}
}

注意: 这里 “Name”: “ae15b45565ac99bc8f770b226684f7ef707eb8a4d9b8111a0e6b8410ab7b7942”,这个并不是容器 id 而是数据卷的 ID,我们可以在 /var/lib/docker/volumes/ 下找到名子为这个数字的目录。它就是我们数据卷在宿主机上对应的目录。

直接挂载宿主机目录

docker run -d -P -v /usr/local/docker/python/webapp:/webapp training/webapp python app.py

results matching ""

    No results matching ""