Docker 執行MySQL
# 1. 啟動 docker
systemctl start docker
# 2. 拉取映象
docker pull mysql:8.0.20
# 3. 檢視映象是否拉取成功
docker images
# 4. 啟動容器,複製容器內配置檔案
# 啟動容器
docker run -P --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
# 如果不知道具體目錄可以進入容器檢視
docker exec -it mysql /bin/bash
# 複製配置檔案
docker cp mysql:/etc/mysql /home/dibtp/mysql8.0.20/
# 停止刪除容器
docker stop mysql
# 5. 啟動mysql,使用資料卷持久化,使用繫結掛載配置檔案
vim docker_run_mysql8.0.20.sh
# 將以下命令寫入指令碼 或 直接執行
docker run \
-p 3306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
--mount source=dv_mysql_data,target=/var/lib/mysql \
--mount type=bind,source=/home/dibtp/mysql8.0.20/mysql,target=/etc/mysql \
--mount type=bind,source=/home/dibtp/mysql8.0.20/logs,target=/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.20
# 命令解釋
--privileged=true 使容器掛載檔案具有操作許可權
--restart unless-stopped 開機自動重啟
--mount source=dv_mysql_data,target=/var/lib/mysql 使用dv_mysql_data 資料卷(Volumes)將資料持久化
--mount type=bind,source=/home/dibtp/mysql8.0.20/mysql,target=/etc/mysql 繫結掛載(Bind-Mounts)MySQL配置檔案
--mount type=bind,source=/home/dibtp/mysql8.0.20/logs,target=/logs 繫結掛載(Bind-Mounts)MySQL日誌檔案
-e MYSQL_ROOT_PASSWORD=123456 設定環境變數,設定了 MySQL root 使用者的密碼為 123456
# 6. 執行指令碼或者直接執行以上命令
chmod +x docker_run_mysql8.0.20.sh
./docker_run_mysql8.0.20.sh
# 7. 檢視容器是否正常執行
docker ps