docker volume数据卷

1.创建volume

  • Docker 1.9之后引入新的子命令,docker volume,可以对volume进行创建、查看和删除。
$ sudo docker volume create --name vol_simple
  • 使用docker run或docker create创建容器时,也可以使用-v标签为容器添加volume。
$ sudo docker run -d -v /data ubuntu
  • 以下命令创建制定名字volume,并挂载到容器中到/data目录下
$ sudo docker run -d -v vol_simple: /data ubuntu
  • 使用docker volume inspect查看volume到信息
$ sudo docker volume inspect vol_simple

2.挂载volume

  • 使用如下命令创建并挂载volume
$ sudo docker volume create --name vol
$ sudo docker run -d -v vol: /data ubuntu
  • 将宿主机上到目录挂载到容器中,文件夹必须使用绝对路径,如果宿主机中不存在/host/dir,将创建一个空文件夹。如果镜像中原本存在/container/dir文件夹,该文件夹下原有到内容将被隐藏,以保持与宿主机中到文件夹一致。(以主机内容为主)
$ sudo docker run -v /host/dir:/container/dir ubuntu
  • 挂载单个文件,文件必须使用绝对路径,文件不存在/host/file,则创建一个同名空目录。挂载后文件内容与宿主机到文件一致,也就是说如果容器中原本存在/container/file,该文件将被隐藏。(以主机内容为主)
$ sudo docker run -it -v /host/file:/container/file ubuntu
  • 主机到文件或文件夹作为volume挂载时,可以使用:ro指定volume为只读,z和Z指定为是否共享,默认为z,即共享该volume
$ sudo docker run -it -v /host/dir:/container/dir:ro

3.使用Dockerfile添加volume

1.使用VOLUME指令向容器添加volume,如果镜像中存在/data文件夹,这个文件夹中到内容将全部复制到宿主机对应到文件夹下。(以容器内容为主)
VOLUME /data

使用VOLUME可以添加多个volume:VOLUME ["/data1","/data2"].

2.需要注意到是,在Dockerfile中使用VOLUME指令之后到代码,如果尝试对这个volume进行修改,这些修改都不会生效。例如:
FROM ubuntu
RUN useradd foo
VOLUME /data
RUN touch /data/file #不生效
RUN chown -R foo:foo /data #不生效

正确为:

#改变对volume文件夹修改对顺序
FROM ubuntu
RUN useradd foo
RUN mkdir /data && touch /data/file && chown -R foo:foo /data 
VOLUME /data

或者

# 将修改操作放到CMD或者ENTRYPOINT指令中
FROM ubuntu
RUN useradd foo
VOLUME /data
CMD  touch /data/file && chown -R foo:foo /data 

4.共享volume

  • 在docker run或者docker create创建容器时,可以使用--volumes-from标签使得容器与已有的容器共享volume。
$ sudo docker run --rm -it --volumes-from vol_simple ubuntu
  • 如果一些数据,比如配置文件、数据文件等,要在多个容器之间共享,一种常见的做法时创建一个数据容器,其他容器与之共享volume。
    如下:首先创建一个挂载了volume的数据容器vol_data,该容器仅仅输出一条提示后就停止运行以避免浪费资源;接下来的两个容器与这个数据容器共享这个volume;如此就将需要共享数据的容器进行较好的解耦。
$ sudo docker run --name vol_data -v /data ubuntu echo "data-only"
$ sudo docker run -it --name vol_share1 --volumes-from vol_data ubuntu
$ sudo docker run -it --name vol_share2 --volumes-from vol_data ubuntu

5.删除volume

  • docker volume rm <volume_name>
  • docker rm -v <container_name>
  • 在运行容器时使用docker run --rm,--rm标签会在容器停止运行时删除容器以及容器所挂载的volume
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,468评论 0 120
  • https://deepzz.com/post/the-docker-volumes-basic.htmlDesc...
    deepzz阅读 4,974评论 0 2
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,734评论 0 7
  • 我喜欢你 像云追着风,风追着雨 不知何起,不问归期。 我喜欢你 像线代的高数次幂 心急火燎,心乱如麻。 我喜欢你 ...
    荒唐小姐阅读 1,028评论 2 8
  • 已经累到不想动了。贴的面膜精华太多了,整的脸和脖子黏黏糊糊的,好不爽~而且特别渴,水还热,头发还没干,蓬蓬的,好热...
    天上的船阅读 78评论 0 0