目录
- 使用docker安装mysql5.7
- docker普通安装
- docker生产环境安装
- 使用docker-compose 安装
- 注意
- 注意一:docker-compose权限问题
- 注意二:docker pull 找不到镜像
使用docker安装mysql5.7
docker普通安装
docker pull mysql:5.7
# 启动容器
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 进入容器查看
docker exec -it mysql /bin/bash
docker生产环境安装
注意此处需要添加--privileged=true
原因是CentOS7中的安全模块selinux把权限禁掉了
docker run -d -p 3306:3306 --privileged=true \
-v /opt/docker_mysql/log:/var/log/mysql \
-v /opt/docker_mysql/data:/var/lib/mysql \
-v /opt/docker_mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
mysql:5.7 \
使用docker-compose 安装
vi docker-compose.yml
version: '3.1'
services:
mysql:
restart: always
image: mysql:5.7
container_name: mysql_57
ports:
- "3306:3306"
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
volumes:
- /opt/docker_mysql/log:/var/log/mysql
- /opt/docker_mysql/data:/var/lib/mysql
- /opt/docker_mysql/conf:/etc/mysql/conf.d
vi /opt/docker_mysql/conf/my.cnf
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
在docker-compose.yml 所在的目录下运行
docker-compose up -d
运行之后宿主机会生成相应的目录
注意
注意一:docker-compose权限问题
docker-compose 启动mysql失败,查看日志是无读写权限,这是由于centos7默认分配的是普通用户权限,而不是root权限.
在使用docker 运行时我们添加了 --privileged=true
而在docker-compose 没法配置.
解决方式
- 临时关闭selinux:
setenforce 0
- 添加selinux规则,改变要挂载的目录的安全性文本
具体请查看: https://blog.csdn.net/rznice/article/details/52170085
注意二:docker pull 找不到镜像
docker pull mysql:5.7
找不到镜像,可能是由于系统时间不同步的问题,需要更新系统时间
# 使用此命令进行联网同步系统时间
ntpdate ntp.aliyun.com
具体可查看: https://blog.csdn.net/weixin_46577684/article/details/120783196