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

docker 安装mysql8

作者:事到如今我依如故ゝ   发布日期:2025-11-21   浏览:45

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

# 设置环境变量,避免在启动容器时手动输入密码
ENV MYSQL_ROOT_PASSWORD=my-secret-pw \
    MYSQL_DATABASE=testdb \
    MYSQL_USER=testuser \
    MYSQL_PASSWORD=testpw

# 将自定义的配置文件复制到容器中(可选)
# COPY my.cnf /etc/mysql/conf.d/

# 暴露 MySQL 默认端口
EXPOSE 3306

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

解释说明:

  1. FROM mysql:8.0:使用 Docker Hub 上的官方 MySQL 8.0 镜像作为基础镜像。
  2. ENV:设置环境变量,用于在容器启动时自动配置 MySQL 的一些基本参数:
    • MYSQL_ROOT_PASSWORD:设置 root 用户的密码。
    • MYSQL_DATABASE:创建一个名为 testdb 的数据库。
    • MYSQL_USERMYSQL_PASSWORD:创建一个名为 testuser 的用户,并为其设置密码。
  3. COPY my.cnf /etc/mysql/conf.d/:如果你有自定义的 MySQL 配置文件,可以将其复制到容器中的配置目录。这一步是可选的。
  4. EXPOSE 3306:声明 MySQL 默认使用的 3306 端口,以便其他容器或主机可以访问。
  5. CMD ["mysqld"]:指定容器启动时运行的命令,这里是启动 MySQL 服务。

你可以使用以下命令来构建和运行这个 Docker 容器:

# 构建镜像
docker build -t my-mysql8 .

# 运行容器
docker run --name my-mysql8-container -p 3306:3306 -d my-mysql8

这样就可以在本地启动一个带有 MySQL 8.0 的 Docker 容器,并通过 localhost:3306 访问它。

上一篇:mysql允许其他ip访问数据库

下一篇:mysql清空表的数据命令

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

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

Laravel 中文站