#### 命令掛載
語法:docker run –it –v /宿主機絕對路徑目錄:/容器內目錄\[:權限\] 鏡像名或鏡像ID

可通過docker inspect 鏡像名稱或鏡像ID查看鏡像的詳細信息

容器和宿主機之間可以進行數據的共享

比如說將上面的內容寫入到/hostDataVolume中以后,我們在容器內也可以看到該文件

此時我們查看容器內的/dataVolumeContainer目錄,發現存在一個hostText的文件,并且文件內容是我上面通過重定向>寫入的。

我們在容器內向hostText文件追加了一個文本內容,此時通過宿主機查看hostText文件,發現也能看到該文本內容。(因為服務器不支持中文的原因,造成的部分字符亂碼)

此時說明**通過數據卷,可以實現宿主機和容器間的數據保存**
當容器停止退出后,如果宿主機的卷掛載目錄文件有變動,重新啟動容器后,容器內的卷掛載目錄會和宿主機卷掛載目錄的文件內容自動同步。
##### 帶權限的掛載

ro:Read-Only,中文意思就是只讀
rw:Read,Write,可讀可寫

此時容器內**只能進行讀操作,不能進行修改和寫入**

##### 解決方案:Docker掛載主機目錄Docker訪問出現cannot open directory:Permission denied(未驗證)
在掛載目錄后加一個—privileged=true參數
如:docker run –it –v /宿主機目錄絕對路徑:/容器目錄絕對路徑 **–privileged=true** 鏡像ID或鏡像名稱
#### Dockerfile添加數據卷
1. 根目錄下新建docker文件夾并進入

1. 在Dockerfile中使用VOLUME指令來給鏡像添加一個或多個數據卷
語法:
VOLUME\[“/dataVolumeContainer1”,”/dataVolumeContainer3”,”/dataVolumeContainer3”\]
說明:
出于可移植和分享的考慮,用-v 主機目錄:容器目錄這種方法不能夠直接在Dockerfile中實現。
由于宿主機目錄是依賴于特定宿主機的,并不能夠保證在所有的宿主機上都存在這樣的特定目錄。
1. Dockerfile構建
\[root@izikh2x5epj8p6z docker\]# vi Dockerfile
\# 數據卷測試
\# 來自于哪個鏡像
FROM centos
\# 數據卷名稱1,數據卷名稱2,...
VOLUME \["/dataVolumeContainer1","/dataVolumeContainer2"\]
\# 輸出回顯信息
CMD echo "finished,------>success"
\# 相當于 docker run -it -v /宿主機目錄1:/dataVolumeContainer1 -v /宿主機目錄2:/dataVolumeContainer2 centos /bin/bash
CMD /bin/bash
1. docker build構建Dockerfile文件,生成新鏡像
語法:docker build –f Dockerfile文件位置 –t 新鏡像名稱 新鏡像生成位置

通過docker images查詢本地鏡像信息,發現多了一個我們生成的gotojava/centos的鏡像

1. Run我們已經生成的鏡像

查看鏡像根目錄,發現有兩個數據卷1和數據卷2

1. 查看數據源對應的主機位置
可以使用docker inspect 容器ID或容器名稱查看容器中的數據卷和宿主機上對應的目錄位置

CentOS7下的默認地址為:
/var/lib/docker/volumes/bf72aebc25e62d53e54121d162085a663e78ffc9e188d58ee567c4f5edf7dc4f/\_data
- 什么是Docker
- 為什么會有Docker
- 虛擬技術的發展
- Docker的優勢
- Docker的應用場景(能干什么)
- 獲取Docker及文檔資源
- Docker架構
- Docker工作原理
- 為什么Docker比虛擬機快?
- Docker的安裝
- 前提條件
- 安裝Docker Engine(Docker引擎)
- 程序員的入門經典之HelloWorld
- 卸載Docker引擎
- 配置鏡像加速
- 解決方案:重新加載daemon.json文件后,重啟服務出錯
- Docker常用命令
- 幫助命令
- 鏡像命令
- 常用容器命令
- Docker鏡像
- 鏡像是什么
- 鏡像的特點
- docker commit????// 鏡像提交
- 運行一個Tomcat容器
- Docker容器數據卷
- 什么是容器數據卷
- 數據卷可以干嘛?
- 數據卷的掛載
- 數據卷容器
- Dockerfile
- 什么是Dockerfile
- Dockerfile構建鏡像的流程
- Dockerfile的Demo(CentOS6.8)
- Dockerfile構建過程解析
- Dockerfile體系結構
- Dockerfile案例