Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

docker mysql镜像

作者:热血震荡   发布日期:2025-06-26   浏览:104

# 使用官方的 MySQL 镜像
FROM mysql:latest

# 设置环境变量,避免在运行时提示输入密码
ENV MYSQL_ROOT_PASSWORD=my-secret-pw \
    MYSQL_DATABASE=test_db \
    MYSQL_USER=test_user \
    MYSQL_PASSWORD=test_pw

# 将初始化 SQL 文件复制到容器中
COPY init.sql /docker-entrypoint-initdb.d/

# 暴露 MySQL 默认端口
EXPOSE 3306

# 启动 MySQL 服务
CMD ["mysqld"]

解释说明:

  1. FROM mysql:latest:

    • 使用 Docker Hub 上的官方 MySQL 镜像作为基础镜像。
  2. ENV:

    • 设置环境变量来配置 MySQL 的初始设置:
      • MYSQL_ROOT_PASSWORD: 设置 root 用户的密码。
      • MYSQL_DATABASE: 创建一个名为 test_db 的数据库。
      • MYSQL_USER: 创建一个名为 test_user 的用户。
      • MYSQL_PASSWORD: 为 test_user 设置密码。
  3. COPY init.sql /docker-entrypoint-initdb.d/:

    • 将本地的 init.sql 文件复制到容器中的 /docker-entrypoint-initdb.d/ 目录。Docker 容器启动时会自动执行该目录下的 SQL 文件,用于初始化数据库。
  4. EXPOSE 3306:

    • 暴露 MySQL 默认的 3306 端口,以便外部可以访问。
  5. CMD ["mysqld"]:

    • 启动 MySQL 服务。这是 MySQL 官方镜像默认的启动命令,确保 MySQL 服务在容器启动时运行。

上一篇:mysql group concat

下一篇:mysql 获取行号

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站