基于Alpine构建MySQL 10.11.11镜像的完整教程
在容器化技术日益流行的今天,使用Docker构建高效、轻量级的MySQL镜像成为许多开发者的需求。本教程将详细介绍如何基于Alpine Linux构建MySQL 10.11.11镜像,Alpine Linux以其小巧的体积和快速的启动速度而闻名,非常适合用于构建容器镜像。
文件目录结构
MySQL/
├── docker-entrypoint.sh
├── Dockerfile
└── my.cnf
0 directories, 3 files
核心文件内容
Dockerfile
FROM alpine:3.18
# 切换至旧版本仓库并安装依赖
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& echo "http://mirrors.aliyun.com/alpine/v3.18/community" >> /etc/apk/repositories \
&& apk update \
&& apk add --no-cache \
mysql=10.11.11-r0 \
mysql-client=10.11.11-r0 \
mariadb-connector-c-dev=3.3.5-r0 \
&& mkdir -p /var/run/mysqld /var/lib/mysql \
&& chown -R mysql:mysql /var/run/mysqld /var/lib/mysql
COPY my.cnf /etc/mysql/my.cnf
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
VOLUME /var/lib/mysql
EXPOSE 3306
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["mysqld", "--user=mysql"]
my.cnf 配置文件
[mysqld]
user=mysql
datadir=/var/lib/mysql
port=3306
character-set-server=utf8
collation-server=utf8_general_ci
default-authentication-plugin=mysql_native_password
[client]
default-character-set


716

被折叠的 条评论
为什么被折叠?



