練習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