前言
這篇是我看到 [Docker] 如何讓 MySql 資料保存,不會隨著容器而消失
跟著實作的紀錄
Container 內容持久化
開發的時候 Docker 扮演一個重要的角色,我們能透過 docker-compose 快速的啟用一些需要使用到 App服務. 此篇就是要來介紹,如果透過 Volume 的方式,將 MySql Container 內容持久化。
Docker 指令介紹
根據 dokcer-compose .yaml 啟動
1 | docker-compose up |
停止 contanier
1 | docker-compose stop |
移除 container
1 | docker-compose down |
使用 docker 指令的時候,很會透過 docker-compose down 來關閉 container,這時候就會發現存放在 mysql 中的 資料,在下一次啟動 container 的時候就會全部消失。
如何解決 docker-compose down 資料也不會消失
在 yaml 中新增 Volumes,Volumes 會將資料存放於 Container 之外,範例中就是會把資料存放於 db_data 這個資料夾
1 | volumes: |
此時使用 docker-compose down 關閉 container
再透過 docker-compose up 就會發現 mysql 的資料還存在
Yaml 設定檔內容
1 | version: "3.9" |