1. 前提条件
# centos7 且内核版本高于3.10, 可通过以下命令查看内核版本
uname -r
2. 利用yum安装docker
# 安装相关工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum缓存
yum makecache fast
# 安装docker-ce
yum -y install docker-ce
# 启动docker
systemctl start docker
3. docker安装MySQL
# 查找MySQL镜像:
docker search mysql
# 拉取MySQL镜像
docker pull mysql:5.7
# 运行MySQL容器
docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
--参数说明
run 运行容器
-d 后台运行
-p 表示容器内部端口和服务器端口映射关联
--privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=root 设置MySQL数据库root用户的密码
--name mysql 设值容器名称为mysql
mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码
4. docker中MySQL的使用
# 进入容器
docker exec -it mysql bash
# 执行MySQL命令, 输入root密码, 连接MySQL
mysql -uroot -p