第一步 下拉鏡像
docker pull mysql:8.0.20
第二步 啟動鏡像
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
檢視是否啟動成功
docker ps -a
拷貝容器的 /etc/mysql目錄到 主機目錄/mnt/sda1/mysql8.0.20
第三步 啟動成功後,進入容器内部拷貝配置檔案,到宿主主機
docker cp mysql:/etc/mysql /mnt/sda1/mysql8.0.20
拷貝容器的 /etc/mysql目錄到 主機目錄/mnt/sda1/mysql8.0.20
第四步 删除mysql容器,重新建立容器
docker stop mysql
先停止容器
再删除容器
docker rm mysql
第五步 啟動mysql ,挂載配置檔案,資料持久化到宿主主機
啟動腳本 檔案名為mysql8.0.20.sh
#!/bin/sh
docker run \
-p 3306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql \
-v /mnt/sda1/mysql8.0.20/logs:/logs \
-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.20
指令解釋:
-p 端口映射
--privileged=true 挂載檔案權限設定
--restart unless-stopped 設定 開機後自動重新開機容器
-v/mnt/sda1/mysql8.0.20/mysql:/etc/mysql 挂載配置檔案
-v/mnt/sda1/mysql8.0.20/logs:/logs 挂載日志
-v/mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 挂載資料檔案 持久化到主機,
-v/etc/localtime:/etc/localtime 容器時間與主控端同步
-e MYSQL_ROOT_PASSWORD=123456 設定密碼
-d mysql:8.0.20 背景啟動,mysql