2022年9月30日 星期五

Docker for Windows, 建立一個容器 MySQL 備份和還原

安裝 Docker for Windows

條件 Windows 10 Build 10586 以上,需啟用 Hyper-V 和容器功能

重開機

更新 powershell > wsl --set-default-version 2

重開機
參考:https://learn.microsoft.com/zh-tw/windows/wsl/install

安裝 Docker


https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-amd64

再重開機

參考:https://skychang.github.io/2017/01/06/Docker-Docker_for_Windows_10_First/


下載容器 img 並直接建立容器 mysqlc 和啟動

docker run --name mysqlc -p 3306:3308 -e MYSQL_ROOT_PASSWORD=Dev123 -d mysql


進 mysql 進一個 db 測試還原時 db 是否還在
mysql -u root -p
create database DevDb; -- 創建資料庫
show databases; -- 顯示資料庫

mysql 操作參考:https://ithelp.ithome.com.tw/articles/10272193

備份容器(包含容器資料)
看容器 ID
docker ps

將目前的容器做成 img
docker commit -p 2f839180729f mysqlc

再把 img save
docker save -o bk.tar mysqlc

還原 img load
docker load -i bk.tar

啟動容器
docker run --name mysqlc -p 3306:3308 -e MYSQL_ROOT_PASSWORD=Dev123 -d mysqlc


2 則留言:

  1. 進入容器
    docker exec -it [Container 名稱或 ID] /bin/bash
    --interactive , -i Keep STDIN open even if not attached
    --tty , -t Allocate a pseudo-TTY

    顯示容器
    docker ps -a

    回覆刪除
  2. WSL2 where is docker volume location? #4176
    https://github.com/microsoft/WSL/discussions/4176

    回覆刪除