使用dockerfile centos制作mysql源码安装
时间: 2023-11-27 21:41:05 浏览: 73
在docker中安装mysql详解
以下是一个基本的Dockerfile,用于在CentOS上安装MySQL源代码:
```
FROM centos:latest
MAINTAINER Your Name <youremail@example.com>
# 安装必要的软件包
RUN yum -y install wget gcc make cmake bison-devel ncurses-devel
# 下载并解压MySQL源代码
RUN wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32.tar.gz
RUN tar -xzvf mysql-5.7.32.tar.gz
# 编译和安装MySQL
RUN cd mysql-5.7.32 && cmake . && make && make install
# 配置MySQL
RUN groupadd mysql
RUN useradd -r -g mysql mysql
RUN cd /usr/local/mysql && chown -R mysql:mysql . && bin/mysqld --initialize --user=mysql
RUN cd /usr/local/mysql && bin/mysql_ssl_rsa_setup
RUN cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
RUN chkconfig --add mysql
# 暴露MySQL端口
EXPOSE 3306
# 启动MySQL
CMD ["/etc/init.d/mysql", "start"]
```
Dockerfile的第一行指定了基本的CentOS映像。MAINTAINER指令用于指定维护者的联系方式。
接下来,我们安装了一些必要的软件包,包括wget、gcc、make、cmake、bison-devel和ncurses-devel。这些软件包是编译MySQL源代码所必需的。
然后,我们下载并解压MySQL源代码。在这个例子中,我们使用的是MySQL 5.7.32版本,你可以根据需要更改版本号。
接下来,我们编译和安装MySQL。我们使用了cmake命令和make命令来编译MySQL源代码。make install命令用于将MySQL安装到系统中。
然后,我们配置了MySQL。我们添加了一个mysql用户和组,并将MySQL安装目录的所有权分配给mysql用户。我们还初始化了MySQL数据目录,并为MySQL生成了一个SSL证书。
最后,我们将MySQL添加到启动项中,并将MySQL端口暴露出来。
当你构建Docker镜像并运行时,MySQL将自动启动,并监听3306端口。
阅读全文