# Volume Advanced
從這個練習,可以了解:
- 如何建立 volume
- 如何將 volume 的目錄綁定到 container 裡
# 指令練習
# 建立 volume,並命名為 code
docker volume create --name code
docker volume ls
# 執行 container 綁定 volume,並查看裡面的內容
docker container run --rm -it -v code:/source busybox ls -l /source
# 執行 container 做點檔案系統的改變
docker container run --rm -it -v code:/source busybox touch /source/somefile
# 執行 container 查看 volume 的內容
docker container run --rm -it -v code:/source busybox ls -l /source
# 執行 nginx container 綁定到 html 目錄裡
docker container run -d -v code:/usr/share/nginx/html --name my-web nginx:alpine
# 查看 my-web 容器的 html 目錄
docker container exec -it my-web ls -l /usr/share/nginx/html
# 執行新容器,並把 my-web 容器綁定的 volume 綁到這個容器上
docker container run -d --volumes-from my-web --name my-web2 nginx:alpine
# 查看新的 my-web2 容器的 html 目錄
docker container exec -it my-web2 ls -l /usr/share/nginx/html
# 指令說明
# docker volume create
建立 volume
--name
指定 volume 名稱
# docker container run
-v|--volume
指定 volume 到 container 裡面的某個目錄--volumes-from
這個參數要接 container,這可以讓新的 container 去共享舊的 container 的 volume 設定。設定包括 Volume Mapping,與今天提到的手動建立方法。