1、创建docker mysql 文件夹
mkdir -p /data/docker/mysql-5.7.36
2、进入docker mysql 文件夹
cd /data/docker/mysql-5.7.36
3、创建MysqlDockerfile文件并编辑
touch Dockerfile
FROM centos:7
LABEL maintainer www.yuanlongsoftware.com
RUN groupadd mysql
RUN useradd -g mysql -s /sbin/nologin -M mysql
RUN mkdir -p /data/mysql/mysql3306/{data,logs}
RUN mkdir -p /opt/mysql/mysql-5.7.36
RUN yum remove mysql-libs -y
RUN yum -y install libaio-devel net-tools perl wget
RUN yum -y install numactl
ADD mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz /
RUN cd mysql-5.7.36-linux-glibc2.12-x86_64 && \
mv * /opt/mysql/mysql-5.7.36/ && \
ln -s /opt/mysql/mysql-5.7.36/ /usr/local/mysql-5.7.36 && \
chown -R mysql:mysql /data/mysq* && \
chown -R mysql:mysql /usr/local/mysql-5.7.36 && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY my3306.cnf /data/mysql/mysql3306/my3306.cnf
RUN /usr/local/mysql-5.7.36/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql-5.7.36 --datadir=/data/mysql/mysql3306/data
VOLUME ["/data/mysql/mysql3306/data"]
EXPOSE 3306
ENTRYPOINT /usr/local/mysql-5.7.36/bin/mysqld --defaults-file=--defaults-file=/data/mysql/mysql3306/my3306.cnf
4、上传对应的文件
上传mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz到/data/docker/mysql
上传my3306.cnf到/data/docker/mysql
5、构建MySQL镜像
docker build -t mysql:5.7.36 .