dockers搭建mysql环境
使用Docker搭建MySQL
在Docker中搭建MySQL非常简单,可以快速部署一个独立、隔离的MySQL实例。以下是具体步骤:
拉取MySQL镜像
从Docker Hub获取官方MySQL镜像,可以选择特定版本(如8.0
或latest
)。
docker pull mysql:8.0
运行MySQL容器
启动MySQL容器时,需设置必要的环境变量(如root密码、数据库名称等)。
docker run --name mysql-container \-e MYSQL_ROOT_PASSWORD=yourpassword \-e MYSQL_DATABASE=mydatabase \-e MYSQL_USER=myuser \-e MYSQL_PASSWORD=userpassword \-p 3306:3306 \-d mysql:8.0
参数说明:
--name
:容器名称。-e
:环境变量(密码、数据库名等)。-p
:宿主机与容器的端口映射(主机端口:容器端口
)。-d
:后台运行容器。
持久化数据存储
默认情况下,容器停止后数据会丢失。通过挂载卷(Volume)实现数据持久化。
docker run --name mysql-container \-v /path/to/host/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=yourpassword \-p 3306:3306 \-d mysql:8.0
-v
参数将主机目录/path/to/host/data
映射到容器的MySQL数据目录/var/lib/mysql
。
常用操作
进入容器终端
docker exec -it mysql-container bash
连接MySQL
mysql -u root -p
查看容器日志
docker logs mysql-container
使用Docker Compose
通过docker-compose.yml
文件管理MySQL服务更便捷。
version: '3'
services:mysql:image: mysql:8.0container_name: mysql-containerenvironment:MYSQL_ROOT_PASSWORD: yourpasswordMYSQL_DATABASE: mydatabaseMYSQL_USER: myuserMYSQL_PASSWORD: userpasswordports:- "3306:3306"volumes:- /path/to/host/data:/var/lib/mysql
启动服务:
docker-compose up -d
注意事项
- 生产环境中建议使用强密码并限制访问权限(如防火墙规则)。
- 定期备份挂载卷中的数据。
- 如需定制配置(如
my.cnf
),可挂载配置文件目录:-v /path/to/custom:/etc/mysql/conf.d