Dockerfile 文件内容
FROM centos
RUN yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm \
&& yum install -y mysql-community-server \
&& yum install -y initscripts \
&& yum clean all
CMD ["/usr/sbin/init"]
由 Dockerfile 文件构建镜像
docker build -t centos76-mysql80:latest .
保存镜像到文件
docker save > centos76-mysql80.tar centos76-mysql80:latest
启动容器 添加端口映射
docker run --privileged=true --name "centos76-mysql80" -d -i -t -p 9980:3306 centos76-mysql80 /usr/sbin/init
进入容器
docker exec -i -t centos76-mysql80 /bin/bash
启动 mysql 服务
service mysqld start
修改密码 开启远程连接
yourpassword 改为自己的密码 密码强度要符合要求 须同时包含 大小写字母 数字 符号
mysqlpass=`grep 'temporary password' /var/log/mysqld.log`
mysql -uroot -p${mysqlpass##* } --connect-expired-password -e"ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';use mysql;UPDATE user SET HOST = '%' WHERE USER = 'root';flush privileges;"
把自己修改后的容器 提交为镜像
docker commit -a "moonnow" -m "password:yourpassword" centos76-mysql80 moonnow/centos76-mysql80:latest
保存镜像到文件
docker save > moonnowcentos76-mysql80.tar moonnow/centos76-mysql80:latest
启动容器 添加端口映射 自己修改后的镜像 不需要启动 mysql 服务 启动容器后数据库就可以用了
docker run --privileged=true --name "moonnowcentos76-mysql80" -d -i -t -p 19980:3306 moonnow/centos76-mysql80 /usr/sbin/init
进入容器
docker exec -i -t moonnowcentos76-mysql80 /bin/bash