1. 程式人生 > >使用Dockerfile創建帶mysql的Centos Docker鏡像

使用Dockerfile創建帶mysql的Centos Docker鏡像

mysql的centos docker鏡

下面用官方的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鏡像