镜像库地址


拉取镜像 sudo docker pull mysql:latest

端口


  • 3306

    容器目录


  • /var/lib/mysql
    • 数据库文件目录
  • /etc/mysql/conf.d
    • 配置目录

      环境变量


  • MYSQL_ROOT_PASSWORD
    • *必须 指定 MySQL root超级用户帐户的密码

      运行容器


具体操作

mkdir -p ~/docker/mysql/conf
mkdir -p ~/docker/mysql/data
touch ~/docker/mysql/conf/my.cnf
sudo docker run -p 3306:3306 --name mysql -v ~/docker/mysql/conf:/etc/mysql/conf.d -v ~/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

命令说明

  • -p 3306:3306
    • 将容器的3306端口映射到主机的3306端口
  • -v ~/docker/mysql/conf:/etc/mysql/conf.d
    • 将主机~/docker/mysql/conf目录挂载到容器的/etc/mysql/conf.d
  • -v ~/docker/mysql/data:/var/lib/mysql
    • 将主机~/docker/mysql/data目录挂载到容器的/var/lib/mysql
  • -e MYSQL_ROOT_PASSWORD=123456
    • 设置root用户密码为
  • -d
    • 后台运行容器

      授权远程登陆用户

      进入容器

      sudo docker exec -it mysql bash

      登录mysql

      mysql -u root -p

      添加远程登录用户

      CREATE USER 'super'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
      GRANT ALL PRIVILEGES ON *.* TO 'super'@'%';
      FLUSH PRIVILEGES;