1. 程式人生 > 其它 >docker容器部署mysql

docker容器部署mysql

一、映象準備

mysql映象下載地址:https://hub.docker.com/_/mysql

這裡以下載5.7.31為例

docker pull mysql:5.7.31

下載後可以通過命令檢視

docker images

可以將下載好的命令儲存為本地檔案,方便日後使用,避免重複下載(會儲存在當前目錄下)

docker save mysql:5.7.31 -o mysql.5.7.31.tar

可以將儲存的映象檔案載入

docker load -i mysql.5.7.31.tar

二、一個簡單的例項

執行例項

docker run -d --name mysql --restart always -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=db_backup.sql -e TZ=Asia/Shanghai -p 3306:3306 -v /data/mysql:/var/lib/mysql mysql:5.7.31 --character-set-server=utf8 --collation-server=utf8_general_ci

說明:

  • --name mysql 指定例項名稱 “mysql” 可以根據需要更改
  • --restart always 容器退出時總是重啟容器
  • -e MYSQL_ROOT_PASSWORD=admin 配置root使用者的密碼為 “admin”
  • -e MYSQL_DATABASE=db_backup.sql 在初始化時指定執行相應的 .sql 檔案,可以建立相應的資料庫,.sql 檔案要在建立容器時所在的目錄下
  • -e TZ=Asia/Shanghai 設定容器時區為 亞洲/上海
  • -p 3306:3306 暴露容器的埠給主機,前面是主機埠,後面是容器埠
  • -v /data/mysql:/var/lib/mysql 容器卷掛載,宿主機的 “/data/mysql” 目錄與容器的 "/var/lib/mysql" 掛載
  • --character-set-server=utf8 --collation-server=utf8_general_ci 設定預設編碼格式為utf8,解決中文亂碼問題

檢視mysql日誌

docker logs -f mysql

說明:

  • -f 引數持續跟蹤日誌變化 可以省略
  • mysql 為容器名稱,根據實際名稱調整

通過shell訪問容器內部

docker exec -it mysql bash