docker查询mysql 有哪些版本的镜像_MYSQL快速部署与初始化数据-图解轻松学Docker&K8S...

2023-11-01

你好,我是老齐,本节咱们来学习快速部署MySQL,并为其初始化数据库!在以前的学习过程中,经常有同学问我,老师你的数据库脚本在哪?老师我的MySQL安装不上,老师我的脚本导入不了,像这种事情经常困扰着我,也困扰着在座的各位。

其实如果使用docker以后,我们完全可以避免这种问题。本节我们就来学习如何快速部署一个MySQL5.7,并为其初始化数据。下边咱们说做就做。 首先上来咱们第一步先进入到 来看一下我们的镜像有哪些?这里输入MySQL,很快MySQL就出现了,那么点击以后来查看里边有具体的哪些版本?

可以看到在MySQL这个位置上出现了我们可以使用的MySQL官方的docker镜像,这里有8.x也有5.x 那么我们要使用5.7.26这个版本,但对于我们来说先不着急去用它,我们点击这个版本,当点击以后可以看到,马上就链接到了github上面。

这是MySQL官方镜像的共享文档,在这儿默认展现的是Dockerfile也就是我们5.7版本MySQL的构建的脚本了。那么在这个脚本中我们把注意力放在第23行上,这里Dockerfile在构建十执行一句话。mkdir创建一个目录,这个目录关键了docker-entrypoint-initdb.d这个地址是干什么用的?看名字是用于初始化数据库的。 这个目录在构建时被创建里边放什么东西呢?在这儿我们回到docker镜像的介绍页面,当回到介绍页面以后来向下寻找。在这个Initializing a fresh instance边有描述说道,

作为当前的目录允许扩展名为.sh .sql 以及 .sql.gz文件放入其中,如果是.sh则直接执行,如果是.sql则自动被MySQL进行导入,而.sql.gz压缩文件会解压以后再进行导入,那么这个文件夹正好符合我们的要求,我们只需要将自己的建表脚本放入到这个目录中就可以了。

下边咱们说做就做。来,现在我们找到源代码,我创建了一个叫simple db的目录,这里有一个初始化脚本,init.sql我们现在打开他看一下

create database `docker_mysql`;

use docker_mysql;

-- 建表
DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
 `id` bigint(20) NOT NULL,
 `created_at` bigint(40) DEFAULT NULL,
 `last_modified` bigint(40) DEFAULT NULL,
 `email` varchar(255) DEFAULT NULL,
 `first_name` varchar(255) DEFAULT NULL,
 `last_name` varchar(255) DEFAULT NULL,
 `username` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- 插入数据
INSERT INTO `user` (`id`, `created_at`, `last_modified`, `email`, `first_name`, `last_name`, `username`)
VALUES
  (0,1490257904,1490257904,'john.doe@example.com','John','Doe','user');

我们如何与docker进行联动?首先进入windows的命令行,在这里直接输入

docker pull mysql:5.7

在init.sql同级下创建一个Dockerfile,作为Dockerfile文件,现在要增加一些文件复制的代码。

FROM mysql:5.7
WORKDIR /docker-entrypoint-initdb.d
ADD init.sql .

首先书写from MySQL:5.7,设置基准镜像,之后,用workdir来设置我们工作目录。把它定位到以后,紧接着使用ADD命令,将当前目录的init.sql文件复制到容器中的目录中,把这三行写上,那么在MySQL5.7容器启动时,就会自动加载配置文件并执行它。

之后咱们要进行镜像的构建了。

docker build -t itlaoqi-sampledb F:IT加油站Docker与K8S容器化实践源代码sampledb

作为init.sql这个文件被自动地复制到了目录中。下边关键的地方来了,我们要构建容器, 利用docker run -P进行端口映射。我们都知道MySQL默认的端口号是3306,那么我们要进行映射的时候不妨这么写,3310是外部的端口,而容器内部3306写上。

docker run -p 3310:3306 -e MYSQL_ROOT_PASSWORD=root itlaoqi-sampledb

同时还有一个关键的设置-e。-e之前我们没有讲过,其实非常简单,它就是环境常量的意思。 在这儿我们书写MYSQL_ROOT_PASSWORD。这个环境常量是由MYSQL5.7镜像所定义的,在这里用于,设置root的初始化密码用户名root,密码root。最后要增加docker的名称。itlaoqi-sampledb,把这个写好,回车。请看屏幕上就会有一系列的输出,我们要做的只需要等待。好的,当你看到了五点7.26 3306的时候,就代表我们MySQL容器启动成功了,此时可以ctrl+C退出。

在这里我们不妨来看一下外侧的端口3310是否出现了?

netstat -ano|grep 3310

Mysql 5.7 3310端口部署成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker查询mysql 有哪些版本的镜像_MYSQL快速部署与初始化数据-图解轻松学Docker&K8S... 的相关文章

  • VMware导入虚拟系统

    导入虚拟系统的前提是安装好VMware软件 首先下载虚拟系统文件 随后点击左上角的文件按钮 点击打开 选择 ovf文件 点击打开 3 修改系统存放的地址 因为虚拟系统比较大 不建议存放在C盘 4 随后等待软件加载系统 5 加载完毕之后 在软
  • java判断文本字符集

    这是一个sourceforge项目 能够判断指定文本或流的字符集 下面是这个库的简单封装 package me jor util import info monitorenter cpdetector io ByteOrderMarkDet
  • chatgpt赋能python:用Python轻松给手机用户发送短信——优秀的工具在手,无限可能!

    用Python轻松给手机用户发送短信 优秀的工具在手 无限可能 作为一个有10年Python编程经验的工程师 我想分享一下如何用Python给手机用户发送短信 Python是目前非常流行的编程语言之一 它可以轻松地完成很多任务 而给用户发送
  • Unity使用脚本模拟Button按下

    目的 想用脚本来模拟Button的按下动作 button上绑定的有方法 自动调用方法 正常操作是鼠标点击按钮 using UnityEngine using UnityEngine UI using System Collections u
  • 记录js-判断一串数字数组,是否是连续的

    场景 假如有一组数组 如 1 2 3 4 5 6 可以看出这数组是连续的 那么如 1 2 3 5 6 这串数组就不是连续的了 用js写判断方法 实现代码 判断一串数字是否是连续的 function isContinuityNum num l
  • Docker 网络互相访问

    对于docker容器 我们知道它是沙箱隔离的 每一个docker容器都是独立运行的 相当于一个独立的虚拟机 所以他们只能进行网路访问 如果我们使用docker run时启动容器 没有指定网路 net参数 默认使用的bridge的网络类型 查
  • wirshark发包工具源码

    需要下载https link csdn net target https 3A 2F 2Fwww winpcap org 2Finstall 2Fbin 2FWpdPack 4 1 2 zip开源库并且使用 目前只能发送udp的码流 def
  • 主流ETL工具汇总

    一 kettle 说明 是国外开源ETL工具 支持数据库 FTP 文件 rest接口 hdfs hive等平台的灵敏据进行抽取 转换 传输等操作 Java编写跨平台 C S架构 不支持浏览器模式 特点 易用性 有可视化设计器进行可视化操作
  • Go语言实训二:Go语言基础知识

    第1关 Go语言基本数据类型 任务描述 用 Go 语言写一个程序 把 int 类型强制转化为 rune 类型 并验证原生的 rune 类型和转换后的 rune 类型是否具有可比较性 相关知识 介绍 在 Go 语言中 数据类型用于声明函数和变
  • 调参经验

    1 假设一次训练有10个epoch 可能会出现以下情况 训练好一次模型去测试 测试的准确率为0 92 又去训练一次模型 不是在之前训练模型的基础上 而是单独进行一次训练 模型训练好去测试 测试准确率为0 93或者0 89 如果我改变一个模型
  • JAVA字符串格式化-String.format()和MessageFormat的使用

    String format 常规类型的格式化 String类的format 方法用于创建格式化的字符串以及连接多个字符串对象 熟悉C语言的同学 应该记得C语言的sprintf 方法 两者有类似之处 format 方法有两种重载形式 form
  • TCP&UDP

    TCP 面向连接的服务 可靠的进程到进程的通信协议 因为TCP里面封装了端口号 端口号就意味着一个服务 进程 应用场景 如 文件传输 HTTP应用层协议 UDP 无连接服务 不可靠的传输协议 应用场景 广播 早期的QQ 视频传输等 ACK
  • 2023数模国赛C 题 蔬菜类商品的自动定价与补货决策-完整版创新多思路详解(含代码)

    题目简评 看下来C题是三道题目里简单一些的 考察的点比较综合 偏数据分析 涉及预测模型和运筹优化 线性规划 还设了一问开放型问题 适合新手入门 发挥空间大 题目分析与思路 背景 在生鲜商超中 一般蔬菜类商品的保鲜期都比较短 且品相随销售时间
  • Groovy 的SQL模块

    Groovy的SQL模块提供了对JDBC的抽象 让我们使用JDBC更简单 相关类在groovy sql包下 本文参考自Working with a relational database 一些代码引用了官方文档 需要了解详细信息请参见原文
  • [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web applica...

    1 06 Aug 2019 22 01 22 261 信息 localhost startStop 1 org apache catalina startup HostConfig deployDirectory Deploying web
  • TCP/IP网络江湖——数据链路层的协议与传承(数据链路层中篇:数据链路层的协议与帧)

    0 引言 网络江湖 宛如千年武林 承载着代代传承的文化和传统 在这个广袤的江湖之中 数据链路层犹如武林门派 代代传承着网络通信的精华 这一部分将带领我们深入探讨数据链路层的协议与传承 揭示其在网络江湖中的精彩故事 就如同江湖中的武者需要基本
  • java将list转化为string

    可以使用Java中的join 方法将List转化为String 例如 List
  • 颜水成发了个「简单到令人尴尬」的视觉模型,证明Transformer威力源自其整体架构...

    梦晨 发自 凹非寺量子位 报道 公众号 QbitAI Transformer做视觉取得巨大成功 各大变体频频刷榜 其中谁是最强 早期人们认为是其中的注意力机制贡献最大 对注意力模块做了很多改进 后续研究又发现不用注意力换成Spatial M
  • CyclicBarrier 使用详解

    1 CyclicBarrier 是什么 从字面上的意思可以知道 这个类的中文意思是 循环栅栏 大概的意思就是一个可循环利用的屏障 它的作用就是会让所有线程都等待完成后才会继续下一步行动 举个例子 就像生活中我们会约朋友们到某个餐厅一起吃饭

随机推荐

  • ansible自动化运维工具

    ansible自动化运维工具 ansible定义 ansible特点 架构图 ansible安装 ansible配置 ansible主机清单 etc ansible hosts ansible常用模块使用详解 raw command she
  • Excel常用公式与函数总结(Excel 2010)

    基本说明 在Excel中输入函数时是不区分大小写的 无论是大写还是小写 结束函数编辑时 Excel会自动转化为大写 对于函数中的参数 当参数是文本时 要用双引号引起来 单纯的数字不需要加双引号 除非这个数字是文本性数字 如果数字前面有比较运
  • EasyCode自动生成Mybatis-plus代码,出现报错

    原因 com baomidou mybatisplus extension api包在3 5之后被弃用 导致导入失败 解决办法 将controller java vm中的模版用下面的模版进行替换 定义初始变量 set tableName t
  • 三分屏干部在线

    def ti for i in range 1 browser switch to default content bo browser find element by css selector iframe browser switch
  • c++ 报错cannot declare variable ‘a‘ to be of abstract ty

    报错原因 没有在子类中完成对基类的虚函数的定义 使得子类不能实例化
  • KeyError: ‘Cascade Mask R-CNN‘

    在安装mmdetection之后 我们可能会按照官方文档来验证是否安装成功 而验证的第一步是下载预训练模型 运行命令为 mim download mmdet config yolov3 mobilenetv2 320 300e coco d
  • SQL Server数据库自动备份及删除自动备份文件

    在项目中使用SQL Server数据库时 我们希望实现自动备份 并在备份完毕后 希望系统自动删除一周或者一月以前的数据备份文件 以下方法在SQL Server 2005 2008均可使用 一 创建维护计划 打开Microsoft SQL S
  • 引入Vant实现dialog弹窗效果

    弹窗效果如下 通过 CDN 安装 使用 Vant 最简单的方法是直接在 html 文件中引入 CDN 链接 之后你可以通过全局变量 vant 访问到所有组件 直接复制即可使用 引入样式文件 引入 Vant 的 JS 文件
  • 【ESP32】阿里云物联网平台连接及数据互传(MQTT)

    一 连接阿里云物联网平台 1 创建示例项目tcp VSCODE中 gt 查看 gt 命令面板 gt 输入 Show Examples projects gt 选择Use current ESP IDF C Espressif framewo
  • android客户端和java服务端之间用socket来传输图片

    为研究android客户端和java服务端之间用socket来传输图片的问题 困扰我很久 网上的参考内容不是完整 就是不详细 所以鉴于自己的痛苦 测试成功后 我决定把代码共享 希望遇到这个问题的同胞 不再痛苦 一 从服务端向客户端发送图片
  • C# 中的委托和事件(详解)

    C 中的委托和事件 委托和事件在 NET Framework 中的应用非常广泛 然而 较好地理解委托和事件对很多接触 C 时间不长的人来说并不容易 它们就像是一道槛儿 过了这个槛的人 觉得真是太容易了 而没有过去的人每次见到委托和事件就觉得
  • Python框架之UnitTest

    unittest 是python 的单元测试框架 unittest 单元测试提供了创建测试用例 测试套件以及批量执行的方案 unittest 在安装pyhton 以后就直接自带了 直接import unittest 就可以使用 测试人员用U
  • el-option 数据不回显,不选中问题

  • IO密集型vs计算密集型

    经常听到别人说python多线程针对io密集型任务可以提升效率 而针对计算密集型则没有什么效果 那么什么是IO密集型和计算密集型呢 任务类型可以分为计算密集型和IO密集型 计算密集型任务的特点是要进行大量的计算 消耗CPU资源 比如计算圆周
  • 在ElementUI的$notify通知方法中渲染自定义组件

    ElementUI 的 Notification 组件通常用于全局的通知提醒消息 其中展示内容默认是文本字符串 当然也可以设置 dangerouslyUseHTMLString true 后传入 HTML 片段 如果要展示比较复杂的动态内容
  • Python数据分析——目录Python数据分析目录

    Python数据分析目录 这是整个数据分析系列的目录 如果打不开的 那就证明它只是个计划 我会尽快把它完善的 1 Python数据分析00 Ubuntu18 04安装Anaconda3 2 Python数据分析01 Numpy模块学习 ht
  • R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率

    最近我们被客户要求撰写关于GARCH的研究报告 包括一些图形和统计输出 介绍 当您处理金融时间序列时 我们通常可以获得相对高频的观察结果 例如 每天进行观察是很常见的 事实上 现在可以获得每小时 分钟 秒甚至毫秒的观测值 相关视频 时间序列
  • MySQL小技巧:删除大表数据时,drop table执行不下去怎么办

    背景 最近遇到了一个坑 MySQL数据库服务器硬盘容量告警 而且因为非技术原因 还不能追加硬盘 通过监控发现 磁盘IO一直100 直接影响就是系统处理时间越来越长 接口响应耗时也越来越多 drop or truncate table 失败
  • Mongodb和socket.io的使用经验

    1 mongoose 1 安装mongoose mongose 是一种以关系性数据库的思想来设计非关系性数据库 npm i mongoose 2 引入mongoose 并连接数据库 const mongoose require mongoo
  • docker查询mysql 有哪些版本的镜像_MYSQL快速部署与初始化数据-图解轻松学Docker&K8S...

    你好 我是老齐 本节咱们来学习快速部署MySQL 并为其初始化数据库 在以前的学习过程中 经常有同学问我 老师你的数据库脚本在哪 老师我的MySQL安装不上 老师我的脚本导入不了 像这种事情经常困扰着我 也困扰着在座的各位 其实如果使用do