镜像

官方镜像:https://hub.docker.com/_/mysql

# 8.0
docker pull mysql:8.0.17

# 5.7
docker pull mysql:5.7.27

运行

docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql:5.7

or

docker run --name mysql57 \\
-p3307:3306 \\
-v /Users/ckwen/docker-data/mysql-data:/var/lib/mysql \\
-e MYSQL_ROOT_PASSWORD=root123456 \\
-e MYSQL_DATABASE=devdoc.cn \\
-e MYSQL_USER=devdoc \\
-e MYSQL_PASSWORD=devdoc.cn \\
-d \\
mysql:5.7

登录MySQL

# 登录容器
docker exec -it mysql57 bash
# 登录 MySQL
mysql -uroot -proot123456
# 显示数据库
show databases;

除了命令行,还有另外一种选择:Docker Adminer 镜像使用 (PHP 开发的数据库管理工具)

也可以直接用客户端工具连接,例如:Sequel Pro,Naivcat

Environment Variables

  • MYSQL_ROOT_PASSWORD:必选变量,root 超级用户的密码。
  • MYSQL_DATABASE:可选变量,启动时创建的数据库的名称。
  • MYSQL_USER:可选变量,用户名
  • MYSQL_PASSWORD:可选变量,密码
  • MYSQL_ALLOW_EMPTY_PASSWORD:可选变量,设置 yes 允许 root 用户的空密码为空
  • MYSQL_RANDOM_ROOT_PASSWORD:可选变量,设置 yes 为 root 用户生成随机初始密码并打印到 stdout。
  • MYSQL_ONETIME_PASSWORD:可选变量,在首次登录时强制更改密码。(MySQL 5.6+ 上支持此功能)

数据存储和配置

数据存储在宿主机,防止容器销毁后数据丢失。

-v /Users/devdoc.cn/docker-data/mysql-data:/var/lib/mysql

指定配置文件

 -v /Users/devdoc.cn/custom:/etc/mysql/conf.d
© 版权声明
评论 抢沙发

请登录后发表评论