# Docker Volume 指令 ### 主講人:黃夙賢 --- ## Docker指令 ![](https://i.imgur.com/pWazmsf.png) --- ## Docker指令概覽 - docker image - docker container - <font color=red>docker volume</font> - docker network --- ## Docker Volume 資料卷 - docker volume資料卷是用來儲存容器資料,可以把資料跟容器執行程式分開來,獨立管理資料。即使容器不在,只要資料卷存在,依舊可以回復容器狀態。 ![](https://i.imgur.com/lR8Vumn.png) --- ## create 新增資料卷 - docker volume create \<資料卷\> - 新增資料卷 ``` docker volume ls (查詢現有的資料卷) docker volume create test_volume (新增test_volume資料卷) docker volume ls docker run -d --name devtest -v test_volume:/app nginx:latest (nginx是輕量級的網頁伺服器,把test_volume資料卷掛載在/app的目錄下) docker ps ``` ![](https://i.imgur.com/X0Iicob.png =800x) --- ## 應用題 - 刪除容器,測試資料卷是否存在 ``` docker ps docker exec -it devtest bash (利用bash介面進入到devtest) cd /app ls echo “I am in test volume” > abc (在app目錄下,寫入文字至abc檔案) ls cat abc (觀看abc檔案內容) exit docker rm -f devtest (把devtest容器刪掉) docker ps –a docker volume ls (證明容器刪掉,資料卷還是存在) ``` --- ![](https://i.imgur.com/qlYODt5.png =800x) --- ## 應用題 - 開一個ubuntu,利用tar壓縮命令,把test_volume的內容備份成backup.tar ``` docker run --rm -v test_volume:/app -v $PWD:/backup ubuntu tar cvf /backup/backup.tar /app (開一個執行tar備份的ubuntu 1.run一個ubuntu來備份檔案 2.把test_volume掛上/app目錄 3.把目前所在目錄($PWD)掛上backup目錄 4.把/app目錄壓縮到backup目錄下的backup.tar 因為/app目錄就是test_volume,/backup目錄就是目前所在目錄 因此等於把test_volume的資料備份到目前工作目錄下) ``` ![](https://i.imgur.com/bAeOA7y.png =700x) --- ## Docker Volume 範例 ``` mkdir web cd web wget https://raw.githubusercontent.com/shhuangmust/html/111-1/immust_7_footer.html (powershell版本命令) wget -Uri https://raw.githubusercontent.com/shhuangmust/html/111-1/immust_7_footer.html -Outfile a.html ``` ![](https://i.imgur.com/wTT4GFm.png =800x) --- ``` docker run -d --name web -p 80:80 -v /home/ansible/web:/var/www/html tutum/apache-php (如有修正連結請按n) ``` ![](https://i.imgur.com/u0e3uuA.png) - http://localhost:8080/immust_7_footer.html ![](https://i.imgur.com/q46k3dX.jpg =700x) ---
{"metaMigratedAt":"2023-06-17T18:27:25.772Z","metaMigratedFrom":"YAML","title":"Docker Volume 指令","breaks":true,"contributors":"[{\"id\":\"ef0225b9-6c2a-4012-82c9-fa1031d2c4db\",\"add\":2020,\"del\":4}]"}
    222 views