docker file 构建简单的mysql镜像并加入.sql文件
时间: 2024-02-29 20:54:36 浏览: 17
好的,以下是一个简单的 Dockerfile,用于构建一个基于 MySQL 的镜像,并将 `.sql` 文件导入到容器中:
```
FROM mysql:latest
ENV MYSQL_ROOT_PASSWORD=password
ENV MYSQL_DATABASE=mydb
COPY my.cnf /etc/mysql/my.cnf
COPY mydb.sql /docker-entrypoint-initdb.d/
EXPOSE 3306
```
这个 Dockerfile 中:
- `FROM mysql:latest` 表示基础镜像是 MySQL 最新版。
- `ENV MYSQL_ROOT_PASSWORD=password` 设置 MySQL 的 root 密码为 `password`。
- `ENV MYSQL_DATABASE=mydb` 设置默认的数据库为 `mydb`。
- `COPY my.cnf /etc/mysql/my.cnf` 将自定义的 MySQL 配置文件 `my.cnf` 复制到容器的 `/etc/mysql/my.cnf` 目录中。
- `COPY mydb.sql /docker-entrypoint-initdb.d/` 将 `.sql` 文件 `mydb.sql` 复制到容器的 `/docker-entrypoint-initdb.d/` 目录中,这样 MySQL 启动时会自动执行该文件中的 SQL 语句,用于初始化数据库。
- `EXPOSE 3306` 表示将容器的 3306 端口暴露出来。
以上就是一个简单的 Dockerfile,用于构建一个基于 MySQL 的镜像,并将 `.sql` 文件导入到容器中。