docker制作mysql5.7镜像详解

      docker制作mysql5.7的镜像难点在于,当mysql安装完成后需要手工初始化。我在其他博客查了下做法大多是用脚本初始化配置启动,但这种模式做出来的父进程不是mysql,是以/bin/bash启动mysql在后台运行。

      我的配置思路是先配置一个初始化好的镜像文件,再以此镜像文件做Dockerfile制作mysql镜像。

      第一步先用centos:7容器里安装mysql5.7,我是先在原机上做好网络yum和自定义yum仓库,将官撒网下载的mysql-community-*.rpm文件放在自定义yum仓库,供容器安装mysql,减少容器大小。

第二,安装完mysql之后,需要查看是否有mysql用户和组,没有就建一个。然后开始准备初始化,初始化要注意mysql5.7的配置文件/etc/my.cnf(最优先读取的配置文件路径)内容没有basedir的安装程序路径,所以要在初始化时指定地址官方推荐为/usr/local/mysql,没有就建一个,然后cd /etc/local/mysql  指令 mysql --initialize --user=mysql --basedir=/usr/local/mysql 开始初始化配置。

第三,初始化完成后,使用mysqld --daemonize --user=mysql指令 让mysql在后台运行,查看进程树和端口号,进程树有时显示有时不显示,但是只要3306的端口号出来在就说明mysql运行正常。yum清空缓存,退出容器。用docker commit制作镜像。

第四步,就是编写Dockerfile如下图,只需要注意CMD起动命令不要有--daemonize守护进程模块容器需要它前台运行。

第五步,用制作好的mysql镜像执着容器,docker run -itd记住用后台运行容器不然卡住,不过不会影响运行,进入容器查看下进程树和端口如下图。整个制作过程完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值