赞
踩
随着版本的迭代和漏洞的提出,Mysql作为一款软件避免不了打补丁的命运。
由于docker版本的升级教程较少,以下基于docker版本的MySQL升级说明。
以下操作均在本地虚拟机中操作验证。
镜像与镜像的差距就在启动命令的区别。启动命令可以根据 docker inspect 容器名
推导出的参数推到出来一部分,也只是一部分。
python工具runlike就是基于此远离开发的,以下举例说明使用方法,
## 对于历史镜像使用runlike看启动命令,基于python pip3 install runlike ## 查看历史镜像,以kibana为例说明runlike的使用 docker ps --all runlike -p kibana docker run --name=kibana \ --hostname=45b31f642a7d \ --user=kibana \ --volume=/usr/local/elk7.14.2/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \ --volume=/usr/local/elk7.14.2/kibana/data:/usr/share/kibana/data \ --volume=/usr/local/elk7.14.2/kibana/plugins:/usr/share/kibana/plugins \ --network=elastic \ --workdir=/usr/share/kibana \ -p 5601:5601 \ --restart=always \ --log-opt max-size=100m \ --log-opt max-file=2 \ --runtime=runc \ --detach=true \ -t \ kibana:7.14.2 \ /usr/local/bin/kibana-docker
# 拉取镜像 docker pull mysql:8.0.27 ## 使用runlike查看MySQL的启动命令 runlike -p mysql-yulin docker run --name=mysql-yulin \ --env=MYSQL_ROOT_PASSWORD=123456 \ --volume=/home/centos/yulin/mysql/data:/var/lib/mysql \ --volume=/home/centos/yulin/mysql/conf:/etc/mysql/conf.d \ --privileged \ -p 20020:3306 \ --expose=33060 \ --restart=always \ --runtime=runc \ --detach=true \ mysql:8.0.27 \ --character-set-server=utf8mb4 ## 通过volume创建对应的目录 mkdir -p /home/centos/yulin/mysql/data mkdir -p /home/centos/yulin/mysql/conf ## 检查网络&创建网络 sudo docker inspect wvp20_default # 网络信息 [ { "Name": "wvp20_default", "Created": "2023-10-23T09:12:47.774395505+08:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.27.0.0/16", "Gateway": "172.27.0.1" } ] }, "Internal": false, "Attachable": true, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, } ] # 创建网络,此处镜像没有使用新建网络,仅做演示 docker network create -d bridge wvp20_default ## 创建mysql配置 vi /home/centos/yulin/mysql/conf/mysql.cnf ## 启动容器 docker run --name=mysql-yulin \ --env=MYSQL_ROOT_PASSWORD=123456 \ --volume=/home/centos/yulin/mysql/data:/var/lib/mysql \ --volume=/home/centos/yulin/mysql/conf:/etc/mysql/conf.d \ --privileged \ -p 20020:3306 \ --expose=33060 \ --restart=always \ --runtime=runc \ --detach=true \ mysql:8.0.27 \ --character-set-server=utf8mb4 ## 查看运行状况 docker ps
# 拉取镜像 docker pull mysql:8.0.34 ## 停止之前的容器 docker stop mysql-yulin ## 启动容器 docker run --name=mysql-yulin2 \ --env=MYSQL_ROOT_PASSWORD=123456 \ --volume=/home/centos/yulin/mysql/data:/var/lib/mysql \ --volume=/home/centos/yulin/mysql/conf:/etc/mysql/conf.d \ --privileged \ -p 20020:3306 \ --expose=33060 \ --restart=always \ --runtime=runc \ --detach=true \ mysql:8.0.34 \ --character-set-server=utf8mb4 ## 查看运行状况 docker ps
以上MySQL镜像基于8.0.27升级到8.0.34,是Orcale官方镜像。不同镜像版本可能升级过程不一致。
请在虚拟机中操作验证,禁止线上生产主机操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。