文章目錄
- 前言
- 一、問題描述
- 二、解決方案
- 1. 搜索 MySQL 鏡像
- 2. 拉取 MySQL 鏡像
- 3. 創建并運行 MySQL 容器
- 參數說明:
- 4. 驗證容器是否運行
- 5. 進入 MySQL 容器
- 三、總結
前言
在日常開發和部署中,MySQL 是最常用的關系型數據庫之一。借助 Docker,我們可以快速拉取 MySQL 鏡像并運行容器,簡化數據庫的安裝和管理。本文將詳細介紹如何使用 Docker 部署 MySQL,包括鏡像搜索、拉取、創建容器、端口映射和數據持久化等關鍵步驟。
一、問題描述
在實際項目中,我們通常需要一個可隨時啟停、易于管理的 MySQL 數據庫。手動安裝 MySQL 可能涉及較多的配置和依賴問題,而使用 Docker 方式可以大大簡化這一過程。
本文的目標是使用 Docker 快速搭建 MySQL 數據庫,并進行基本的端口映射和數據持久化,以便后續開發使用。
二、解決方案
1. 搜索 MySQL 鏡像
首先,我們可以使用以下命令在 Docker Hub 中搜索 MySQL 相關鏡像:
docker search mysql
執行后,將會返回一個 MySQL 相關鏡像的列表,其中 mysql
是官方維護的鏡像。
2. 拉取 MySQL 鏡像
使用以下命令拉取 MySQL 官方鏡像:
docker pull mysql:latest
如果需要指定特定版本,例如 MySQL 5.6,可以使用:
docker pull mysql:5.6
拉取完成后,可以通過 docker images
命令查看本地鏡像列表。
3. 創建并運行 MySQL 容器
運行以下命令,創建MySQL的文件夾:
mkdir mysql
cd mysql
運行以下命令,在 Docker 中創建并啟動一個 MySQL 容器:
docker run -id \
-p 3307:3306 \
--name=mysql_app \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
參數說明:
-i
:使容器保持交互模式,允許用戶進入。-d
:后臺運行容器。-p 3307:3306
:將宿主機的 3307 端口映射到容器的 3306 端口,防止與本機已有的 MySQL 端口沖突。--name=mysql_app
:設置容器名稱為mysql_app
。-v $PWD/conf:/etc/mysql/conf.d
:將宿主機當前目錄下的conf
文件夾掛載到 MySQL 配置目錄,方便修改配置。-v $PWD/logs:/logs
:將日志文件存儲到宿主機的logs
目錄,方便查看日志信息。-v $PWD/data:/var/lib/mysql
:將 MySQL 數據庫的數據文件存儲到宿主機data
目錄,實現數據持久化。-e MYSQL_ROOT_PASSWORD=123456
:設置 MySQL root 用戶的密碼為123456
。mysql:5.6
:使用 MySQL 5.6 版本。
4. 驗證容器是否運行
使用以下命令查看正在運行的容器:
docker ps
如果 MySQL 正常運行,你會看到 mysql_container
在列表中。
5. 進入 MySQL 容器
執行以下命令進入 MySQL 容器的 Shell,即可進入 MySQL 命令行
docker exec -it mysql_app mysql -uroot -p123456
部署成功!
三、總結
本文介紹了如何使用 Docker 部署 MySQL,包括:
- 搜索 MySQL 官方鏡像
- 拉取 MySQL 鏡像
- 創建 MySQL 容器并設置端口和數據持久化
- 驗證容器狀態并連接 MySQL
通過 Docker 部署 MySQL,避免了繁瑣的手動安裝過程,使開發環境更加輕量和高效。后續可以基于此進一步配置 MySQL,例如創建用戶、調整字符集等。