Docker教程四之基于Centos7的MySql环境镜像

8 篇文章 0 订阅
8 篇文章 0 订阅

好久没有写 docker 镜像的构建了。 我之前完成了web项目的部署,和简单的负载,但是缺少对数据库的镜像,而且我的Web也都为静态页面,所以在接着对我的web项目进行加工前,需要使用到数据库,个人服务器有限,所以还是以构建镜像的方式进行添加


数据库我采用 mysql

因为我对mysql第一次接触,所以    我也踩了不少坑

    1,数据库初始密码  mysql 5.7 开始,初始化密码的呈现方式有所改变

    2,数据库启动问题   mysql 5.7 开始, 启动文件命令有所改变

    3,镜像文件体积(优化了部分)


资源: MySQL 下载地址

dockerfile

FROM centos:7

RUN yum install -y libaio-devel.x86_64 numactl.x86_64 &&\
	yum clean all

ENV Mysql_HOME /usr/local/mysql/
ENV PATH $PATH:$Mysql_HOME/bin

ADD my.cnf /etc 	
ADD startup.sh /
ADD mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /usr/local

RUN mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql &&\
	useradd mysql && \
	chmod 777 /startup.sh &&\
	chmod 664 /etc/my.cnf &&\
	mkdir $Mysql_HOME/data &&\
	chown mysql:mysql -R  /usr/local/mysql

EXPOSE 3306 33060
CMD ["/startup.sh"]

startup.sh

#!/bin/sh
#初始化
mysqld --initialize --user=mysql

#启动服务
mysqld

my.cnf

    这个配置文件地址:mysql配置文件查看地址

    具体配置其实不用那么多,具体看自己需求,对mysql, 我还需要再多多研究


因为我没有优化过过程,所以镜像文件体积还是会大很多,具体对于体积的优化, 我参考了:优化体积博客

内容具体是说:

     尽量减少构建过程,相同的构建可以合并到一个过程中,比如,yum insert 相关就可以合并到一个过程中,并且,每次yum insert 后 最好做 clean 处理,还有cp 过程,等。


对于MySQL 5.7 版本镜像启动,需要注意:

    1,MySQL 启动文件的不同

    2,初始密码在 所打印的日志中:如下图



可以看我的码云:去码云看看

本章到此结束

资源:  nodeJS 下载地址
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值