練習6

練習6

1. 創建容器t1並創建綁定掛載的volume

[root@localhost ~]# docker container run --name t1 -it --rm -v /data/volumes/t1:/data busybox:latest  #使用-v選項,後面指明宿主機上卷的位置:容器上掛載卷的位置
/ # ls -ld /data
drwxr-xr-x    2 root     root             6 May 16 07:01 /data
[root@localhost ~]# docker container inspect t1
…
        "Mounts": [
           {
               "Type": "bind",  #類型為綁定掛載的卷
               "Source": "/data/volumes/t1",  #宿主機上的位置,會自動創建,在這個位置創建文件容器中就能看見
               "Destination": "/data",  #容器上的位置
               "Mode": "",
               "RW": true,
               "Propagation": "rprivate"
           }
       ],
…
           "Volumes": null,
…

2. 創建容器t1並創建Docker管理的volume

[root@localhost ~]# docker container run --name t1 -it --rm -v /data busybox:latest  #使用-v選項,後面指明容器上掛載卷的位置
/ # ls -ld /data
drwxr-xr-x    2 root     root             6 May 16 06:53 /data
[root@localhost ~]# docker container inspect t1
…
        "Mounts": [
           {
               "Type": "volume",  #類型為容器管理的卷
               "Name": "a86deab05fafe94d08c16f22974d10a9526774de8962d8bd63b00066715840b6",  #宿主機上的卷ID
               "Source": "/var/lib/docker/volumes/a86deab05fafe94d08c16f22974d10a9526774de8962d8bd63b00066715840b6/_data",  #宿主機上的位置,會自動創建,在這個位置創建文件容器中就能看見
               "Destination": "/data",  #容器上的位置
               "Driver": "local",
               "Mode": "",
               "RW": true,
               "Propagation": ""
           }
       ],
…
            "Volumes": {
               "/data": {}
           },
…

3.創建容器t1並創建綁定掛載的volume,另創建容器t2並與容器t1掛載同一個volume

[root@localhost ~]# docker container run --name t1 -it --rm -v /data/volumes/t1:/data busybox:latest
/ # ls -ld /data
drwxr-xr-x    2 root     root             6 May 16 07:01 /data
/ # touch /data/t1.txt
/ # ls /data
t1.txt
方法一:
[root@localhost ~]# docker container run --name t2 -it --rm -v /data/volumes/t1:/data busybox:latest
/ # ls /data
t1.txt
方法二:
[root@localhost ~]# docker container run --name t2 -it --rm --volumes-from t1 busybox:latest        
/ # ls /data
t1.txt