資料卷之Dockerfile(自己生成映象掛載)
之前說過掛載的方式有匿名掛載,具名掛載,還有指定生成路徑掛載。
現在我們可以通過生成一個映象直接掛載!
dockerfile就是用來構建docker映象的構建檔案!實質就是命令指令碼
(通過這個指令碼就可以生成映象,映象是一層一層的,指令碼是一個一個的命令,每個命令就是一層)
1,建立一個docker_volume_test檔案,在檔案裡面建立dockerfile1,用來編寫指令碼
[root@CentOs home]# mkdir docker_volume_test
[root@CentOs home]# ls
docker_volume_test mysql slime Slime test
[root@CentOs home]# cd docker_volume_test/
[root@CentOs docker_volume_test]# vim dockerfile1
2,指令碼內容
指令碼內容包括指令(都是大寫)和引數
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash
這裡的每個命令都是一層
3,生成映象
[root@CentOs docker_volume_test]# docker build -f /home/docker_volume_test/dockerfile1 -t wz/centos:1.0 .(後面這個.不能忘!)
Sending build context to Docker daemon 2.048kB
Step 1/4 : FROM centos
---> 5d0da3dc9764
Step 2/4 : VOLUME ["volume01","volume02"]
---> Running in 12c98d5bb89c
Removing intermediate container 12c98d5bb89c
---> ad30bed96ee8
Step 3/4 : CMD echo "----end----"
---> Running in cbaf40de84ca
Removing intermediate container cbaf40de84ca
---> 49e0c1d341cf
Step 4/4 : CMD /bin/bash
---> Running in ff806d438310
Removing intermediate container ff806d438310
---> d9694ac32268
Successfully built d9694ac32268
Successfully tagged wz/centos:1.0
[root@CentOs docker_volume_test]#
4,進入我們自己生成的映象
這個卷和外部一定有一個同步的目錄!
5,檢視一下卷掛載的路徑
docker inspect 容器id
6,測試一下剛才的檔案是否同步出去
這種方式我們未來會使用的十分多,因為我們通常會構建自己的映象!
假設構建映象的時候沒有掛載卷,要手動映象掛載 -v 卷名:容器內路徑