docker容器數據卷(七)

目錄

1,什麼是容器數據卷

2,容器數據卷能做什麼

3,添加數據卷的方式

3.1直接使用命令添加

3.2使用DockerFile添加


1,什麼是容器數據卷

先來看看Docker的理念:

* 將應用與運行的環境打包形成容器運行 ,運行可以伴隨着容器,但是我們對數據的要求希望是持久化的

* 容器之間希望有可能共享數據

Docker容器產生的數據,如果不通過docker commit生成新的鏡像,使得數據做爲鏡像的一部分保存下來,

那麼當容器刪除後,數據自然也就沒有了。

爲了能保存數據在docker中我們使用卷。

 

 

2,容器數據卷能做什麼

1,容器數據的持久化(如mysql的存儲文件)

2,容器之間繼承和共享數據

 

3,添加數據卷的方式

3.1直接使用命令添加

語法

docker run -it -v /宿主機目錄:/容器內目錄  --privileged=true centos /bin/bash

查看容器卷是否掛載成功

docker inspect 容器ID

                                        

查看容器卷和宿主機的數據共享

在宿主機的mycentos001中創建hello.txt文件並寫入數據mycentos001

進入容器查看container001裏面有hello.txt文件數據和mycentos001裏面的一樣

注意:在以上的例子中,默認的只能在宿主機裏面寫數據。

如果出以下的問題

                                       

解決辦法:在掛載目錄後多加一個--privileged=true參數即可

                                       

④查看容器停止後,主機修改數據是否同步

                                      

⑤帶權限的處理方式

                                       

 

3.2使用DockerFile添加

①在宿主機的根目錄下創建mydocker文件夾並進入

                                            

②在當前目錄創建一個DockerFile的文件

                                       

③編寫DockerFile

                                            

FROM centos
VOLUME ["/dataContainer1","/dataContainer2"]
CMD echo "finished,--------success1"
CMD /bin/bash

 

④build生成一個新的鏡像

docker build -f /mydocker/DockerFile -t laolei/centos .   #注意後面有一個點哦

                                         

⑤啓動容器

docker run -it --name='mycentos' laolei/centos

⑥查看容器裏面有兩個容器卷

                                         

 

                  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章