mysql8 tar安装docker
时间: 2025-02-08 21:10:39 浏览: 37
### 如何在 Docker 中使用 tar 包安装 MySQL 8
#### 准备工作
为了确保能够顺利地通过 tar 包在 Docker 容器内安装 MySQL 8,需要先准备好所需的文件以及环境。
- **获取 MySQL 的 tar 包**:从官方渠道或者其他可信源下载适用于 Linux 平台的 MySQL 8 版本 tar 文件[^1]。
- **准备基础镜像**:基于一个合适的操作系统作为底层数字化平台来构建自定义镜像。通常会选择轻量级的操作系统如 Alpine 或者 CentOS 来减少最终镜像大小并提高启动速度。
#### 构建 Dockerfile 和 自定义脚本
创建一个新的目录用于放置所有的项目资源,并在此处编写 `Dockerfile` 及其他必要的辅助脚本来完成整个过程:
```dockerfile
# 使用官方的基础镜像
FROM centos:7
# 设置环境变量以避免交互式配置提示
ENV DEBIAN_FRONTEND noninteractive
# 更新软件包列表并将一些基本工具安装到容器中
RUN yum update -y && \
yum install -y wget tar gzip vim net-tools iproute procps-ng which sudo openssh-server openssl perl
# 将本地下载好的 MySQL tar 包复制进来
COPY ./mysql-8.0-linux-glibc2.12-x86_64.tar.xz /
# 解压 Tarball 到指定位置
RUN mkdir /usr/local/mysql && \
tar xf mysql-8.0-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql --strip-components=1 && \
rm -rf *.tar*
# 初始化数据库实例
RUN cd /usr/local/mysql && \
bin/mysqld --initialize-insecure --user=root
# 创建软链接以便于命令行调用 mysqld_safe 等程序
RUN ln -s /usr/local/mysql/bin/* /usr/bin/
# 配置 my.cnf 文件路径 (如果有的话)
VOLUME ["/etc/mysql"]
# 开放默认端口给外部访问
EXPOSE 3306
# 启动服务时执行初始化操作
CMD ["mysqld_safe"]
```
上述代码片段展示了如何利用 Dockerfile 去定制化的安装 MySQL 8 数据库服务器[^4]。
#### 执行构建与运行指令
当完成了以上准备工作之后,则可以按照如下方式来进行实际部署:
- **构建镜像**
```bash
docker build -t custom-mysql .
```
- **启动容器**
```bash
docker run --name=mysql-container -p 3306:3306 -v $(pwd)/conf:/etc/mysql -v $(pwd)/data:/var/lib/mysql -d custom-mysql
```
这将会把当前主机上的两个文件夹挂载至容器内部相应的位置,从而实现持久存储功能;同时映射了标准 MySQL 端口使得可以从外界连接该实例。
阅读全文
相关推荐

















