Docker 執行MySQL

等你下课啊發表於2024-05-01

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

相關文章