欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > MySQL Dockerfile 示例

MySQL Dockerfile 示例

2025/2/13 16:17:20 来源:https://blog.csdn.net/m0_67906358/article/details/145593829  浏览:    关键词:MySQL Dockerfile 示例

 

目录

关于 init.sql 文件

构建和运行 MySQL 容器


# 使用 MySQL 8.0 作为基础镜像
FROM mysql:8.0# 设置 MySQL 的环境变量
ENV MYSQL_ROOT_PASSWORD=78910
ENV MYSQL_DATABASE=mydb
ENV MYSQL_USER=myuser
ENV MYSQL_PASSWORD=123456# 复制自定义的初始化 SQL 文件到容器中
# 注意:确保 init.sql 文件位于 Dockerfile 所在目录
COPY init.sql /docker-entrypoint-initdb.d/# 暴露 MySQL 的默认端口
EXPOSE 3306# 可选:设置工作目录(如果需要)
# WORKDIR /var/lib/mysql

关于 init.sql 文件

示例中,init.sql 文件被复制到 /docker-entrypoint-initdb.d/ 目录。MySQL 容器会自动执行该目录下的所有 SQL 文件。以下是一个简单的 init.sql 示例,用于初始化数据库和用户权限:

-- init.sql
-- 创建一个测试表
CREATE TABLE mydb.test_table (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL
);-- 插入一些测试数据
INSERT INTO mydb.test_table (name) VALUES ('Kimi'), ('Docker');

构建和运行 MySQL 容器

构建镜像
将上述 Dockerfile 和 init.sql 文件保存在同一目录下,然后运行以下命令构建镜像:

docker build -t my-mysql-image .

运行容器
构建完成后,运行以下命令启动 MySQL 容器:

docker run --name my-mysql-container -d -p 3306:3306 my-mysql-image

-d 表示后台运行容器。

-p 3306:3306 将容器的 3306 端口映射到宿主机的 3306 端口。

验证容器运行
可以通过以下命令连接到 MySQL 容器,验证是否正常启动:

docker exec -it my-mysql-container mysql -uroot -p

输入密码 78910 后,即可进入 MySQL 命令行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com