閱讀128 返回首頁    go 阿裏雲 go 技術社區[雲棲]


數據卷和數據卷容器

1、數據卷:
創建一個volumes的文件夾:
[root@docker01 /]# mkdir volumes
[root@docker01 /]# ls
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var volumes
創建一個名為vol的容器,並將容器的/opt目錄掛載到本地的/volumes文件夾下。(-v參數可以在容器中創建一個數據卷)
[root@docker01 /]# docker run -it --name vol -v /volumes:/opt docker.io/centos /bin/bash
[root@d49b2d5408e3 /]# cd /opt
[root@d49b2d5408e3 opt]# ls
在容器的/opt目錄中創建一個名為date_vol的文件夾。
[root@d49b2d5408e3 opt]# mkdir date_vol
[root@d49b2d5408e3 opt]# ls
date_vol
[root@d49b2d5408e3 opt]#
在本地係統中查看/volumes文件夾下是否有date_vol文件夾:
[root@docker01 /]# cd volumes/
[root@docker01 volumes]# ls
date_vol
[root@docker01 volumes]#

數據卷使容器內的數據直接映射到了本地主機。

2、數據卷容器:
創建一個數據卷容器命名為volumes,並在數據卷中創建一個文件夾為date01
[root@docker01 /]# docker run -it -v /date_vol --name volumes docker.io/centos /bin/bash
[root@7869a30c62e3 /]# ls
anaconda-post.log date_vol etc lib lost+found mnt proc run srv tmp var
bin dev home lib64 media opt root sbin sys usr
[root@7869a30c62e3 /]# cd date_vol/
[root@7869a30c62e3 date_vol]# ls
[root@7869a30c62e3 date_vol]# mkdir date01
[root@7869a30c62e3 date_vol]# ls
date01
[root@7869a30c62e3 date_vol]#

創建一個名為app01的容器,並使用--volumes-form命令掛載數據卷容器volume的date01數據卷,創建一個文件夾名稱為app01。
[root@docker01 /]# docker run -it --name app01 --volumes-from volumes docker.io/centos /bin/bash
[root@04042b20bdbe /]# ls
anaconda-post.log date_vol etc lib lost+found mnt proc run srv tmp var
bin dev home lib64 media opt root sbin sys usr
[root@04042b20bdbe /]# cd date_vol/
[root@04042b20bdbe date_vol]# ls
date01
[root@04042b20bdbe date_vol]# mkdir app01
[root@04042b20bdbe date_vol]# ls
app01 date01

創建一個名為app02的容器,並使用--volumes-form命令掛載數據卷容器volume的date01數據卷,創建一個文件夾名稱為app02。
[root@docker01 volumes]# docker run -it --name app02 --volumes-from volumes docker.io/centos /bin/bash
[root@bc087cca62b0 /]# ls
anaconda-post.log date_vol etc lib lost+found mnt proc run srv tmp var
bin dev home lib64 media opt root sbin sys usr
[root@bc087cca62b0 /]# cd date_vol/
[root@bc087cca62b0 date_vol]# ls
app01 date01
[root@bc087cca62b0 date_vol]# mkdir app02
[root@bc087cca62b0 date_vol]# ls
app01 app02 date01
[root@bc087cca62b0 date_vol]#

使用數據卷容器的時候,可以實現多個容器之間共享一些持續更新的數據。

screenshot

最後更新:2017-06-29 22:03:43

  上一篇:go  阿裏雲對象存儲服務OSS 學習筆記
  下一篇:go  驚心動魄!程序員們說這些時刻再也不想經曆了