Docker data volumes

Docker data volumes

Data volume is a container for one or more special directory used, it bypasses the UFS, can provide some useful features:

数据卷可以在容器之间共享和重用
对数据卷的修改会立马生效
对数据卷的更新,不会影响镜像
卷会一直存在,直到没有容器使用
create

When a docker run command, use the -v flag to create a data volume and mount it to the container. In one run can be mounted in a plurality of times using a plurality of data volumes.
For example:
Docker RUN -itd -p 6380: 6380 -v / Home / docker_test: / the root / --name volum_test aaf79d45ddb1

#查看挂载
# 方式1
docker inspect dc00070e3903|grep "Source"
"Source": "/home/docker_test",
"Source": "/var/lib/docker/volumes/e3fb369eaf07fcbaf97f897dc3a5fad0615b3dbe0cba55d57232b272feef6a2b/_data",
# 方式2
docker inspect dc00070e3903|grep -10  "Mounts"
{
"Type": "bind",
"Source": "/home/docker_test",
"Destination": "/root",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}

Docker mount default permissions data volume is read, the user can also: ro designated read-only.
sudo docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash 挂载单个文件

docker run -itd -p 6380:6380 -v /home/docker_test:/root/:po --name volum_test aaf79d45ddb1

Data volume container

docker run -itd -p 6391:6381 --volumes-from volum_test --name volum_test2 aaf79d45ddb1

Dockerfile VOLUME
#格式:
    VOLUME ["/data"]
#解释:
#VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点
#通过VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的。
#举例:
    VOLUME ["/var/lib/tomcat7/webapps/"]

Guess you like

Origin www.cnblogs.com/donghaoblogs/p/12177448.html