【Docker构建MySQL8.0镜像】

这篇具有很好参考价值的文章主要介绍了【Docker构建MySQL8.0镜像】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

部署流程

1. 拉取docker镜像

docker pull mysql:8.0.35

拉取成功后就可以看到镜像了:
【Docker构建MySQL8.0镜像】,docker,adb,容器

这里我们选择MySQL 8.0.35版本,因为在8.0.33及其之前的版本被扫出多个漏洞,所以决定使用比较新版本的8.0.35

2. 创建数据卷,存放MySQL数据

docker volume create mysql_data8_35

最好在启动时自己准备好配置文件

3. 启动MySQL镜像

3.1 启动脚本

docker run -d -e MYSQL_ROOT_PASSWORD=密码 --name mysql8 -d -p 13307:3306 -v mysql_data8_35:/var/lib/mysql -v /日志目录/log:/var/log/ -v /配置文件目录/my.cnf:/etc/mysql/my.cnf mysql:8.0.35

注意:上述启动命令需要修改密码日志目录配置文件目录等内容后才能执行

常见的mysql8配置文件 my.cnf

[mysqld]
datadir = /var/lib/mysql
secure-file-priv= NULL
sql-mode = “ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION”
!includedir /etc/mysql/conf.d/
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect=‘SET NAMES utf8mb4’
lower_case_table_names = 1
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4

3.2 查看是否启动成功
【Docker构建MySQL8.0镜像】,docker,adb,容器

4. 初始化sql放入MySQL镜像

4.1 查看镜像id

docker ps
【Docker构建MySQL8.0镜像】,docker,adb,容器

4.2 往镜像中放入脚本

docker cp init.sql 84dc03543c0f:/root/init.sql

4.3 进入镜像

docker exec -it mysql8 bash

【Docker构建MySQL8.0镜像】,docker,adb,容器

5. 执行MySQL脚本

  1. 执行前登录mysql,开启日志:set global general_log=1;
  2. 查询日志存放目录:show variables like ‘general%’;
  3. 后续可以在目录实时查看脚本执行情况
    【Docker构建MySQL8.0镜像】,docker,adb,容器
  4. 创建数据库:CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  5. 执行MySQL脚本:mysql -uroot -p 数据库名 < /root/init.sql
    回车后输入密码
  6. 脚本执行完登录mysql去关闭日志:set global general_log=0;
    不关闭日志会导致数据堆积,mysql镜像越来越大

6. MySQL镜像打包

将MySQL镜像打成压缩包,后续就能直接把压缩包复制到别的服务器,实现镜像迁移

6.1 查看数据卷所在位置

docker volume inspect mysql_data8_35

【Docker构建MySQL8.0镜像】,docker,adb,容器
6.2 数据压缩

  • 进入目录: cd /var/lib/docker/volumes/mysql_data8_35
  • 压缩数据:tar -czvf mysql8-35.tar.gz _data/

6.3 镜像压缩

docker save -o mysql8-35.tar mysql:8.0.35

6.4 最终结果
【Docker构建MySQL8.0镜像】,docker,adb,容器

7. MySQL镜像迁移

1. 加载镜像
docker load -i mysql8-35.tar

加载后即可看到镜像

2. 解压数据卷文件
tar -zxvf mysql8-35.tar.gz
【Docker构建MySQL8.0镜像】,docker,adb,容器
3. 启动镜像
启动指令:
docker run -d -e MYSQL_ROOT_PASSWORD=密码 --name mysql8 -d -p 13307:3306 -v 数据卷解压目录/_data:/var/lib/mysql -v 日志目录/logs:/var/log/mysql8 -v 配置文件目录/my.cnf:/etc/mysql/my.cnf mysql:8.0.35

上述指令的配置文件目录日志目录都是非必须的,如果不需要将对应 -v指令去掉即可文章来源地址https://www.toymoban.com/news/detail-800184.html

到了这里,关于【Docker构建MySQL8.0镜像】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker构建jar包镜像并运行容器

    Docker需要提前安装,不懂的参考: Centos7操作Docker_JohnGene的博客-CSDN博客_centos7 操作docker 安装Docker安装Docker官方源:yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo更新源:yum makecache fast安装:yum install docker-ce启动并设为开机自启:systemctl enable docker #设为开机

    2024年02月09日
    浏览(63)
  • Docker进阶:容器数据卷与Dockerfile构建镜像(发布)

    💖The Begin💖点点关注,收藏不迷路💖 1、完成数据持久化和共享数据,docker容器中的数据,同步到本地。 2、重要数据back_up 特点: 实时生效、数据卷可在容器之间共享和重用数据、数据卷中的更改不会包含在镜像更新中、数据卷的生命周期会一直延续到没有容器使用它为止

    2024年02月09日
    浏览(55)
  • Docker基础入门:容器数据卷与Dockerfile构建镜像(发布)

    💖The Begin💖点点关注,收藏不迷路💖 1、完成数据持久化和共享数据,docker容器中的数据,同步到本地。 2、重要数据back_up 特点: 实时生效、数据卷可在容器之间共享和重用数据、数据卷中的更改不会包含在镜像更新中、数据卷的生命周期会一直延续到没有容器使用它为止

    2024年02月10日
    浏览(55)
  • Docker 仓库与注册表: 构建可靠的容器镜像生态系统

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月17日
    浏览(48)
  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月05日
    浏览(74)
  • Docker操作Mysql镜像容器

    参数: -p 3306:3306:将容器的3306端口映射到主机的3306端口 --name:给容器命名 -v /mydata/mysql/log:/var/log/mysql:将配置文件挂载到主机/mydata/..(映射配置文件) -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root 安装启动完成后再次输入 docker ps -a (查看所有容器) 查看 docker 容器会发

    2024年02月15日
    浏览(41)
  • Docker(镜像、容器、仓库)工具安装使用命令行选项及构建、共享和运行容器化应用程序

    👧个人主页:@小沈YO. 😚小编介绍:欢迎来到我的乱七八糟小星球🌝 🔑本章内容:Docker工具安装使用、命令行选项及构建、共享和运行容器化应用程序时的主要步骤 记得 评论📝 +点赞👍 +收藏😽 +关注💞哦~ 提示:以下是本篇文章正文内容,下面案例可供参考 以下是在常

    2024年02月05日
    浏览(67)
  • 【Docker】如何编写Dockerfile,深入理解 Dockerfile:构建精简且高效的容器镜像

    Docker 是一种轻量级的容器化技术,使得应用程序和它们的依赖可以被打包到一个容器中,方便在不同环境中运行。Dockerfile 是用于定义 Docker 镜像的文本文件,其中包含了一系列的指令,这些指令描述了镜像中应该包含哪些内容和如何配置。 在开始编写 Dockerfile 之前,确保你

    2024年01月24日
    浏览(54)
  • 【Docker容器】Docker安装MySQL镜像详细步骤(适合新手使用)

    前言 自从用了Docker之后,发现装东西是真的香,不用在自己根据下载压缩包一个个的去解压、执行、配置环境等等操作。想要啥直接就用Docker直接即拿即用,灰常的舒服啊。话不多说,正式开干,直接开始安装步骤。以下所有的安装前提是你装了Docker引擎了,不要告诉我连

    2023年04月25日
    浏览(79)
  • 基于docker-compsoe.yml配置mysql8.0主从 (需要进入主从容器执行命令)

    主my.cnf文件 从my.cnf文件 主要的yml配置 主容器的操作 进入主mysql容器 3306端口的 docker exec -it 容器id /bin/bash 登录mysql mysql -uroot -p 创建主从复制的账号 - 创建用户slave,密码123456 CREATE USER \\\'slave\\\'@\\\'%\\\' IDENTIFIED BY \\\'123456\\\'; 授权主从复制 GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO \\\'slave\\\'@

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包