1. 程式人生 > 其它 >資料卷之Dockerfile(自己生成映象掛載)

資料卷之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 卷名:容器內路徑