Docker_Mysql5.7 部署
一、下载镜像
1.1 在docker中下载mysql 5.7镜像
docker pull mysql:5.7
1.2 查看下载安装的镜像
docker images
二、创建容器
2.1 简单的创建方式
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysq:5.7
2.2 将数据挂在本地服务器上
# 宿主机创建数据存放目录映射到容器 mkdir -p /usr/local/docker_data/mysql/data # 宿主机创建配置文件目录映射到容器 mkdir -p /usr/local/docker_data/mysql/conf #(需要在此目录下创建"conf.d"、"mysql.conf.d"两个目录) mkdir -p /usr/local/docker_data/mysql/conf/conf.d # (建议在此目录创建my.cnf文件并进行相关MySQL配置) mkdir -p /usr/local/docker_data/mysql/conf/mysql.conf.d # 宿主机创建日志目录映射到容器 mkdir -p /usr/local/docker_data/mysql/logs # CentOS 7 不建议用这个命令 docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7 # 经测试上面这行命令在 CentOS 7 下目录挂载失败。 # 在上面这行命令的基础上增加了--privileged=true参数,让容器拥有真正的root权限 docker run --privileged=true --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7
三、进入mysql容器中创建账号、数据库开启远程
# 进入容器中 docker exec -it mysql5.7 bash # 进入mysql中 mysql -u root -p # 创建用户并开启远程登录 CREATE USER '你的账号'@'%' IDENTIFIED BY '你的密码'; # 创建数据库并设置字符集 CREATE DATABASE `库名` CHARACTER SET 'utf8mb4'; # 给账号授权数据库 GRANT ALL PRIVILEGES ON `库名`.* TO '你的账号'@'%'; # 刷新权限 FLUSH PRIVILEGES;
四、要是觉得以上步骤比较麻烦
在运行docker mysql镜像时直接创建数据库以及用户名、密码的方式
docker run -d --name mysql5.7 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=Yujiahui@88 \ -v /volume1/docker/mysql/conf:/etc/mysql/conf.d \ -v /volume1/docker/mysql/log:/var/log/mysql \-e MYSQL_USER=mysqluser \ -e MYSQL_PASSWORD=mysqluser \ -e MYSQL_DATABASE=gogs \ mysql:5.7
既要脚踏实地,也需仰望天空