基于centos封装mysql5.7的docker镜像
时间: 2023-12-07 12:04:45 浏览: 112
docker上安装使用mysql镜像
1. 安装docker
在CentOS中安装docker,可以使用以下命令:
```
sudo yum install -y docker
```
2. 下载mysql5.7
可以从mysql官网上下载mysql5.7的安装包,下载完成后将其解压到任意目录,例如 /opt/mysql。
3. 创建Dockerfile文件
在任意目录下创建 Dockerfile 文件,并编辑以下内容:
```
FROM centos:latest
MAINTAINER Your Name <yourname@example.com>
# 安装mysql依赖包
RUN yum -y install libaio
# 复制mysql安装包到容器中
ADD /opt/mysql /opt/mysql
# 配置mysql环境变量
ENV MYSQL_HOME /opt/mysql
ENV PATH $MYSQL_HOME/bin:$PATH
# 创建mysql用户
RUN groupadd mysql
RUN useradd -g mysql mysql
# 修改mysql安装包权限
RUN chown -R mysql:mysql $MYSQL_HOME
RUN chmod -R 755 $MYSQL_HOME
# 初始化mysql
RUN $MYSQL_HOME/scripts/mysql_install_db --user=mysql
# 设置启动脚本
ADD /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
RUN chmod +x /etc/init.d/mysqld
# 设置容器启动时自动启动mysql
RUN chkconfig mysqld on
# 设置mysql默认编码为utf8
RUN echo "character-set-server=utf8" >> /etc/my.cnf
# 暴露mysql默认端口
EXPOSE 3306
# 启动命令
CMD service mysqld start && tail -f /dev/null
```
4. 构建docker镜像
在Dockerfile文件所在目录下,执行以下命令:
```
sudo docker build -t mysql5.7 .
```
其中,mysql5.7是镜像名称,可以根据需要自行修改。
5. 运行docker容器
在运行docker容器之前,需要先创建一个数据卷,用于持久化mysql数据。可以执行以下命令创建数据卷:
```
sudo docker volume create mysql_data
```
创建数据卷后,可以执行以下命令运行docker容器:
```
sudo docker run -d --name mysql -p 3306:3306 -v mysql_data:/var/lib/mysql mysql5.7
```
其中,mysql是容器名称,可以根据需要自行修改。-p参数用于映射容器内部的3306端口到主机的3306端口,-v参数用于挂载数据卷。
至此,基于centos封装mysql5.7的docker镜像就已经完成了。
阅读全文