您的位置:首页 > 运维架构 > Docker

【Docker容器的数据管理】- 使用Dockerfile构建包含数据卷的镜像

2017-07-03 00:35 1211 查看
 

使用Dockerfile构建包含数据卷的镜像

 

使用Dockerfile构建的数据卷镜像,每次启动一个容器,会添加新的数据卷且都不相同;

也就是数据卷是不能共享的;

 

创建构建包含数据卷的镜像Dockerfile

root@ubuntu:~#cd datavolume/

root@ubuntu:~/datavolume#mkdir dvt

root@ubuntu:~/datavolume# cd dvt/

root@ubuntu:~/datavolume/dvt#pwd

/root/datavolume/dvt

root@ubuntu:~/datavolume/dvt# vim Dockerfile

root@ubuntu:~/datavolume/dvt# cat Dockerfile

# 设置基本的镜像,后续命令都以这个镜像为基础 

FROM ubuntu

# 作者信息 

MAINTAINER shangwu 

VOLUME["/datavolume1", "/datavolume2"]

CMD /bin/bash

root@ubuntu:

说明:

       1)Dockerfile文件VOLUME的用法;

 

 

 

 

构建镜像dvt

root@ubuntu:~/datavolume/dvt#docker build -t dvt .

Sending build context to Docker daemon 2.048 kB

Sending build context to Docker daemon

Step 0 : FROM ubuntu

 --->dc8dd8718e57

Step 1 : MAINTAINER shangwu

 --->Using cache

 --->6a57984aa052

Step 2 : VOLUME /datavolume1 /datavolume2

 --->Running in 71b126f1bf66

 --->bfc5e2abe6c4

Removing intermediate container 71b126f1bf66

Step 3 : CMD /bin/bash

 --->Running in 9b2efa85c458

 --->a6c6c6df81c7

Removing intermediate container 9b2efa85c458

Successfully built a6c6c6df81c7

root@ubuntu:~/datavolume/dvt#

 

 

 

 

启动镜像dvt的容器dvt3和dvt4

root@ubuntu:~/datavolume/dvt# docker run --name
dvt3 -it dvt

root@ubuntu:~/datavolume/dvt# docker run --name
dvt4 -it dvt

 

 

 

对比dvt3和dvt4的Volumes

root@ubuntu:~/datavolume/dvt#docker inspect dvt3

   "Volumes": {

       "/datavolume1": "/var/lib/docker/vfs/dir/5b6180d626c6cdb804ce5419f6057d58d876904e0c62409e505f6c96756699b8",

       "/datavolume2": "/var/lib/docker/vfs/dir/563a961b3814fc16f0862a95e3c37ee518b1d6bd76484b69d7a229f4b98c3459"

    },

   "VolumesRW": {

       "/datavolume1": true,

       "/datavolume2": true

    }

}

]

root@ubuntu:~/datavolume/dvt#

root@ubuntu:~/datavolume/dvt#docker inspect dvt4

   "Volumes": {

       "/datavolume1": "/var/lib/docker/vfs/dir/2968fdcd6e1fe8c9edb441b8500b596b4bd26ff7216dc31b5a54999eab6cd94e",

       "/datavolume2": "/var/lib/docker/vfs/dir/b7f3cf4995e5f043873895c102569f4edcef9f7ac7f42ca75bc72c56e203cfd2"

    },

   "VolumesRW": {

       "/datavolume1": true,

       "/datavolume2": true

    }

}

]

root@ubuntu:~/datavolume/dvt#

说明:

       1)对比dvt3和dvt4的Volumes;

       2)dvt3和dvt4的Volumes的其实是有区别的;

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: