一、下载MySQL镜像


二、挂载配置数据到宿主机

A、宿主机创建目录

my.cnf配置存放目录、data数据存放目录

mkdir -p /data/docker/mysql/config/
mkdir -p /data/docker/mysql/data/
B、宿主机创建my.cnf文件

/data/docker/mysql/config/my.cnf

[client]
default-character-set=utf8

[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
C、创建MySQL容器
docker run -d \
	       --name mysql8 \
	       -p 3309:3306 \
           --restart always \
           --privileged=true \
           -e MYSQL_USER="mysql" \
           -e MYSQL_PASSWORD="password" \
           -e MYSQL_ROOT_PASSWORD="password" \
	       -e character-set-server=utf8 \
	       -e collation-server=utf8_general_ci \
           -v=/data/docker/mysql/config/my.cnf:/etc/my.cnf \
           -v=/data/docker/mysql/data:/var/lib/mysql \
    	   mysql:8.0

参数说明:

  • -d:后台运行容器
  • --nameMySQL容器名称
  • -p:将容器的3306端口映射到主机的3309端口。
  • –restart always:开机启动
  • –privileged=true:提升容器内权限(false可能会因权限导致无法启动)
  • -e:设置环境变量
    • MYSQL_USER:添加用户
    • MYSQL_PASSWORD:设置添加用户密码
    • MYSQL_ROOT_PASSWORD:设置root用户密码
    • character-set-server:设置字符集
    • collation-server:设置字符比较规则
  • -v
    • -v=/data/docker/mysql/config/my.cnf:/etc/my.cnf:映射配置文件
    • v=/data/docker/mysql/data:/var/lib/mysql:将容器的 /var/lib/mysql目录挂载到主机/data/mysql/docker_3306目录。
  • mysql:8.0mysql(repository) : 8.0(tag)

在这里插入图片描述


D、查看是否启动成功

a、查看MySQL容器是否运行

# 列出所有在运行的容器信息
docker ps

在这里插入图片描述
b、登录MySQL容器mysql8命令行模式

# mysql8:容器名
docker exec -it mysql8 bash 

# 登录mysql
mysql -uroot -p123456

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐