思路概述
- 拉取官方centos镜像
- 在官方镜像容器基础上,通过yum安装mysql
- 保存容器到新镜像
过程
- 参考创建一个带sshd的Centos镜像完成官方镜像获取并开启sshd。
- 启动centos容器镜像,连接到容器,安装mysql
#容器是精简版,没有wget软件包,需要yum安装wget
yum install wget
#下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
#初始化mysql
mysqld --initialize --explicit_defaults_for_timestamp --user=mysql
#启动mysql
mysqld --user=mysql
#初始root密码
grep "password" /var/log/mysqld.log
#连接到mysql后,修改密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
- 剩下的就是docker commit进行镜像创建。
docker commit -m="add mysql5.7" --author="eleorc" 92bb1324fcd5 centos-sshd-mysql
坑
在精简的centos镜像中,没有systemctl。因此启动mysql的过程有点小坑。参考:关于Docker官方CentOS镜像无法启动mysqld的总结