当前位置:Gxlcms > 数据库问题 > 使用Dockerfile创建带mysql的Centos Docker镜像

使用Dockerfile创建带mysql的Centos Docker镜像

时间:2021-07-01 10:21:17 帮助过:46人阅读

下面用官方的rpm源包安装mysql过慢不主张采用yum这种方式

#本文参考了「tutum」的 Dockerfile

FROM docker.io/centos:latest


MAINTAINER Waitfish 


#设置环境变量,所有操作都是非交互式的

ENV DEBIAN_FRONTEND noninteractive


RUN echo "Asia/Shanghai" > /etc/timezone

#注意这里要更改系统的时区设置,因为在Web应用中经常会用到时区这个系统变量,默认的centos会让你的应用此程序发生不可思议的效果哦


#安装mysql服务

RUN yum update -y && \

  yum install wget rpm -y && \

  #wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm && \  #下载速度太慢

  wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm && \

  #rpm -ivh mysql-community-release-el7-5.noarch.rpm --nosignature && \

  yum localinstall mysql57-community-release-el7-7.noarch.rpm -y && \

  rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 && \

  yum install mysql-community-server -y


# 删除预安装的数据库文件

RUN rm -rf /var/lib/mysql/*


# 添加文件夹下的 MYSQL 配置文件

ADD my.cnf /etc/mysql/conf.d/my.cnf

ADD mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf


# 添加 MYSQL 的脚本

ADD import_sql.sh /import_sql.sh

ADD run.sh /run.sh

RUN chmod 755 /*.sh


# 设置环境变量,用户名以及秘密

ENV MYSQL_USER admin

ENV MYSQL_PASS **Random**


# 设置主从复制模式下的环境变量

ENV REPLICATION_MASTER **False**

ENV REPLICATION_SLAVE **False**

ENV REPLICATION_USER replica

ENV REPLICATION_PASS replica


# 设置可以允许挂载的卷,可以用来备份数据库和配置文件

VOLUME  ["/etc/mysql", "/var/lib/mysql"]


# 设置可以映射的端口

EXPOSE 3306


# 设置自启动的脚本

CMD ["/run.sh"]

*********************************************************************************************************************************************************************************************************************************************************************************

使用Dockerfile创建带mysql的Centos Docker镜像

标签:mysql的centos docker镜

人气教程排行