1.容器資料卷簡介 
一句話:有點類似我們Redis里面的rdb和aof檔案
2.容器資料卷作用

容器的持久化
容器間繼承+共享資料
3.資料卷使用
[1].使用命令方式添加
(1).容器添加
語法:docker run -it -v /宿主機絕對路徑目錄:/容器內目錄 鏡像名
|
[root@pluto /]# docker run -it -v /myDataVolume:/dataVolumeContainer centos:6.8 |

(2).查看資料卷是否掛載成功
語法:docker inspect 容器ID
|
[root@pluto /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 04bd9add86e3 centos:6.8 "/bin/bash" 4 minutes ago Up 4 minutes angry_payne [root@pluto /]# docker inspect 04bd9add86e3 |

(3).容器和宿主機之間資料共享

(4).容器停止退出后,主機修改后資料是否同步

(5).僅讀
語法:docker run -it -v /宿主機絕對路徑目錄:/容器內目錄:ro 鏡像名

[2].DockerFile添加
(1).在主機創建目錄
根目錄下新建mydocker檔案夾并進入
|
[root@pluto /]# mkdir /mydocker [root@pluto /]# cd mydocker/ |
(2).File構建
語法:VOLUME["/dataVolumeContainer","/dataVolumeContainer2","/dataVolumeContainer3"]
說明:
出于可移植和分享的考慮,用-v 主機目錄:容器目錄這種方法不能夠直接在Dockerfile中實作,
由于宿主機目錄是依賴于特定宿主機的,并不能夠保證在所有的宿主機上都存在這樣的特定目錄,
可在Dockerfile中使用VOLUME指令來給鏡像添加一個或多個資料卷
|
[root@pluto mydocker]# pwd /mydocker [root@pluto mydocker]# vim Dockerfile
# volume test FROM centos:centos6.8 VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"] CMD echo "finished,--------success1" CMD /bin/bash |
因為本機系統是centos6.8,所以如果不指定可能會出現"FATAL: kernel too old"的情況
(3).build
build后生成鏡像,獲得一個新鏡像pluto/centos
|
[root@pluto mydocker]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos 6.8 efa3cf7ee1f9 17 months ago 194.5 MB [root@pluto mydocker]# docker build -f /mydocker/Dockerfile -t pluto/centos . |

(4).run容器
|
[root@pluto mydocker]# docker run -it pluto/centos |

(5).容器卷目錄
找到容器內的卷目錄地址對應的主機目錄地址
|
[root@pluto /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a7e8f6f016b4 pluto/centos "/bin/sh -c /bin/bas 46 minutes ago Up 46 minutes modest_morse [root@pluto /]# docker inspect pluto/centos |


如果出現"cannot open directory"的錯誤
|
Docker掛載主機目錄Docker訪問出現cannot open directory .: Permission denied 解決辦法:在掛載目錄后多加一個--privileged=true引數即可 |
4.資料卷容器
命名的容器掛載資料卷,其它容器通過掛載這個(父容器)實作資料共享,掛載資料卷的容器,稱之為資料卷容器


|
Docker run -it --name mydocker1 pluto/cetos |

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/196596.html
標籤:其他
上一篇:Docker鏡像
下一篇:DockerFile
