配置 Docker 中的 MySQL
本文将指导你如何在 Docker 环境中配置 MySQL 数据库,包括创建容器、配置数据持久化、设置环境变量和访问数据库等步骤。
准备工作
确保你已经安装了 Docker,并且 Docker 服务正在运行。你可以通过以下命令检查 Docker 是否安装成功:
docker --version
拉取 MySQL 镜像
使用以下命令从 Docker Hub 拉取官方 MySQL 镜像:
docker pull mysql:latest
创建 MySQL 容器
使用以下命令创建并启动 MySQL 容器,同时配置数据持久化和环境变量:
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=mydb -v mysql-data:/var/lib/mysql -d mysql:latest
解释:
- my-mysql:容器名称
- MYSQL_ROOT_PASSWORD=my-secret-pw:设置 root 用户密码
- MYSQL_DATABASE=mydb:创建一个名为 mydb 的数据库
- -v mysql-data:/var/lib/mysql:将宿主机的 mysql-data 目录挂载到容器的 /var/lib/mysql 目录,用于数据持久化
- -d mysql:latest:以后台模式运行容器
连接到 MySQL 容器
使用以下命令连接到 MySQL 容器:
docker exec -it my-mysql mysql -u root -p
输入之前设置的 root 密码(my-secret-pw)即可进入 MySQL 命令行界面。
验证数据库
在 MySQL 命令行界面中,使用以下命令验证数据库是否创建成功:
show databases;
你应该能看到名为 mydb 的数据库。
配置 MySQL
如果你需要进一步配置 MySQL,例如修改配置文件或安装插件,可以使用以下命令挂载配置文件:
docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=mydb -v mysql-data:/var/lib/mysql -v mysql-conf:/etc/mysql/my.cnf -d mysql:latest
其中 mysql-conf 是宿主机上的配置文件目录,/etc/mysql/my.cnf 是容器内的配置文件路径。
访问 MySQL 数据
如果你需要从宿主机访问 MySQL 数据,可以使用以下命令:
docker run --name my-mysql-client -it --link my-mysql:mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest
然后使用以下命令连接到 MySQL:
mysql -h mysql -u root -p
停止和删除容器
使用以下命令停止并删除 MySQL 容器:
docker stop my-mysql
docker rm my-mysql