创建数据卷
方法一: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