使用Dockerfile创建带mysql的Centos Docker镜像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Dockerfile创建带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镜像的主要内容,如果未能解决你的问题,请参考以下文章
系列6使用Dockerfile创建带mysql5.7的Centos Docker镜像1
系列6使用Dockerfile创建带LAMP的Centos Docker镜像
使用Dockerfile创建带编译安装znginx服务的Centos Docker镜像
系列2使用Dockerfile创建带sshd服务的Centos Docker镜像