Docker 运行 mysql 服务

查看官方镜像仓库有哪些 mysql 版本,请访问下面地址

  https://hub.docker.com/_/mysql?tab=tags

注意:

latest 表示最新版本

docker 拉取 mysql 版本

  • 拉取最新版本

    • docker pull mysql:latest
  • 拉取 MySQL8 版本

    • docker pull mysql:8.0.21
    • docker pull mysql:8.0
    • docker pull mysql:8
  • 拉取 MySQL5.7 版本

    • docker pull mysql:5.7.31
    • docker pull mysql:5.7.30
    • docker pull mysql:5.7
  • 拉取 MySQL5.6 版本

    • docker pull mysql:5.6.49
    • docker pull mysql:5.6.48
    • docker pull mysql:5.6

docker 查看本地镜像

docker images | grep mysql

docker 运行 mysql 服务

运行指令:

docker run -itd --name test_mysql -p 3306:3306 -m 1000m --restart=always  \
           -e MYSQL_ROOT_PASSWORD=root \
           -v /etc/localtime:/etc/localtime:ro \
           -v /you_paht/my.cnf:/etc/mysql/conf.d/mysql.cnf \
           -v /var/lib/mysql:/var/lib/mysql \
           -v /var/log/mysql:/var/log/mysql \
           mysql:5.7.31

运行参数说明

  • -p 端口指定
  • -e 表示参数传递到容器里
    • MYSQL_ROOT_PASSWORD=root 表示容器内部key为MYSQL_ROOT_PASSWORD,value 为 root
  • -v 文件映射
  • --restart=always 如果外部因素导致服务挂了会自动重启
  • -m 限制容器内存大小
  • --name 镜像名称

配置文件例子

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# The MySQL server
[mysqld]
disable_ssl
port            = 3306
socket          = /var/run/mysqld/mysqld.sock
server-id       = 1

查看容器:

docker ps -a|grep test_mysql

停止容器并移除

docker kill test_mysql
docker rm test_mysql

再次查看

docker ps -a|grep test_mysql

你会发现了没有了

java 连接 mysql 示例

SQL 教程