win10-docker-mysql镜像安装运行基础

win10-docker-mysql镜像安装运行基础

文章目录

  • win10-docker-mysql镜像安装运行基础
    • 一、搜索可用镜像
      • 1.1 查询mysql镜像
      • 1.2 确定镜像版本号
    • 二、运行mysql容器
      • 2.1 进入mysql
      • 2.2 测试mysql是否正常
    • 三、将mysql数据存储目录映射到宿主机做持久化

一、搜索可用镜像

1.1 查询mysql镜像

docker search mysql

>docker search mysql
NAME                            DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation…   14406     [OK]
mariadb                         MariaDB Server is a high performing open sou…   5500      [OK]
percona                         Percona Server is a fork of the MySQL relati…   619       [OK]
phpmyadmin                      phpMyAdmin - A web interface for MySQL and M…   854       [OK]
bitnami/mysql                   Bitnami MySQL Docker Image                       96                   [OK]
...

查找结果说明:

  • NAME 镜像名
  • STARS 关注度
  • OFFICIAL 是否官方镜像

1.2 确定镜像版本号

因为通过 docker search 并不能查看某个镜像的版本信息,如我需要特定版本的 mysql 那怎么办呢~

  • 方式 1
    • 通过 Docker Hub要想查看镜像的版本和TAG,需要在 docker hub 查看
    • 地址如下:https://hub.docker.com
    • 进入之后,在页面左上角搜索框搜索,例如搜索mysql
    • 点击查看详情
    • 点击Tags,即可看见所有的版本
    • 找到Tags 后,就可以根据需要的版本来下载了。如tags为5.6的版本
    • 按照 Docker 的格式来拉取不同 tags 的 mysql 镜像,用冒号隔开
    • docker pull mysql:5.6
  • 方式 2,通过官网查看版本号信息
    • 管网:https://www.mysql.com/
  • 方式 3,通过尝试加版本号猜测
    • 以 mysql 为例:我们从官网上知道了 mysql 有 5.6 版本 和 8.0 版本,再结合 Docker 的规则(以:分割),就可以猜测到拉取
    • mysql 5.6 的命令如下:
# 拉取 mysql 最新版本镜像 ,默认tag = latest
docker pull mysql:latest
# 拉取 mysql 5.6 镜像
docker pull mysql:5.6
# 拉取 mysql 8.0 镜像
docker pull mysql:8.0

二、运行mysql容器

#首次运行
docker run -p 3306:3306 --name x_mysql_5_6 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
run命令解释:-p 3306:3306 #指定端口映射,格式为:主机(宿主)端口:容器端口--name x_mysql_5_6  #为容器指定一个名称,名字叫xxxxx;-e MYSQL_ROOT_PASSWORD=123456   #设置环境变量,参数用于设置 MySQL 的 root 用户密码-d #后台运行-v: 绑定一个卷#启动一个已停止的容器
docker start x_mysql_5_6#停止容器
docker stop x_mysql_5_6#重启容器
docker restart x_mysql_5_6#查看已运行的容器
docker ps

2.1 进入mysql

  • 方法一:在docker中进入
    • 打开docker选择images,查看镜像列表;
    • 镜像mysql:5.6的status列点击In use进入容器列表;
    • 点击刚运行的容器x_mysql_5_6,进入容器管理页;
    • 点击terminal进入该容器命令行界面;
  • 方法二:本机命令行进入
    • 语法:docker exec [OPTIONS] Container Command [Args…]
    • 执行:docker exec -it x_mysql_5_6 mysql -uroot -p
    • exec命令说明:
      • -it 参数用于进入容器的交互模式;
      • mysql -uroot -p 需要一起看,为mysql标准命令行命令+参数,表示进入容器后执行的命令;
      • 进入后可以在本地控制台中操作容器中的mysql数据库了!
  • 方法三:进入容器系统控制台
    • 执行:docker exec -it x_mysql_5_6 /bin/bash

2.2 测试mysql是否正常

  • 执行如下命令:
    • 三种登录命令,登录到mysql控制台:
      • mysql -u root -p //登录到MySQL服务器
      • mysql -u root -p database_name //连接到指定的MySQL数据库
      • mysql -h remote_mysql_host_ip -u root -p //登录到远程MySQL服务器
      • 上述三个命令执行后都需要数据库root账号的登录密码(运行时MYSQL_ROOT_PASSWORD参数指定的密码)
      • 登录成功后显示:Welcome to the MySQL monitor.提示
    • 执行以下命令
      • show databases; //查看所有数据库名
      • use mysql; //使用mysql库
      • show tables; //查看库中的所有表名
      • 退出执行:exit 或 ctrl+c

三、将mysql数据存储目录映射到宿主机做持久化

对已经运行的容器更改目录映射不太方便,这里采用删除重新运行的方式;

  • 容器名:x_mysql_5_6;
  • 宿主机目录:D:\docker\x_mysql_5_6\data
  • 映射命令:-v D:\docker\x_mysql_5_6\data:/var/lib/mysql
    • /var/lib/mysql为容器的默认数据目录
#停止容器
docker stop x_mysql_5_6
#产品容器状态
docker ps -a
#删除容器
docker rm -f x_mysql_5_6
#重新运行容器
docker run -d -p 3306:3306 --name x_mysql_5_6 -e MYSQL_ROOT_PASSWORD=123456 -v D:\docker\x_mysql_5_6\data:/var/lib/mysql mysql:5.6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/69249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Microsoft Edge】如何彻底卸载 Edge

目录 一、问题描述 二、卸载 Edge 2.1 卸载正式版 Edge 2.2 卸载非正式版 Edge 2.2.1 卸载通用的 WebView2 2.2.2 卸载 Canary 版 Edge 2.2.3 卸载其他版本 2.3 卸载 Edge Update 2.4 卸载 Edge 的 Appx 额外安装残留 2.5 删除日志文件 2.6 我就是想全把 Edge 都删了…

【Ant Design】Form.Item创建自定义表单

一、概述 Antd是一个非常强大的UI组件库,里面的Form表单组件也基本能满足我们大多数场景。但是也有需要自定义表单的场景。 Vue2里我们使用v-model,结合子组件的model属性,来实现自定义组件的双向绑定。 Vue3里我们使用v-model,…

【快应用】快应用与网页通信踩坑合集处理

【关键词】 Web、postMessage、onMessage 【问题背景】 快应用中通过web组件加载的h5网页,快应用在和网页进行通信时,经常会遇到网页发送信息给快应用,快应用成功收到,反过来的时候,h5网页就没法收到了。如提示 xxx …

05-Redis

1、Redis为什么快? 1、纯内存操作 2、单线程可以省去多线程时CPU上下文会切换的时间 3、渐进式ReHash、缓存时间戳 数组需要扩容的时候,他会维护两张hash表,比如第一张的数组长度为6,另一张的数组长度为12,在set和g…

设计模式-建造者(生成器)模式

文章目录 简介建造者模式的核心概念产品(Product)建造者(Builder)指挥者(Director)建造者模式与其他设计模式的关系工厂模式和建造者模式uml对比 建造者模式的实现步骤建造者模式的应用场景spring中应用 建…

论文《面向大规模日志数据分析的自动化日志解析》翻译

论文《Towards Automated Log Parsing for Large-Scale Log Data Analysis》翻译 面向大规模日志数据分析的自动化日志解析翻译

Windows中多线程的基础知识1——互斥对象

目录 1 多线程的基本概念1.1 进程一、程序和进程的概念二、进程组成三、进程地址空间 1.2 线程一、线程组成二、线程运行三、线程创建函数 1.3 多进程与多线程并发一、多进程并发二、多线程并发 2 线程同步2.1 一个经典的线程同步问题2.2 利用互斥对象实现线程同步一、创建互斥…

JavaScript-----对象(创建对象、数组与字符串)

目录 前言: 1. JavaScript创建对象 1.1 对象的创建 1.2 对象的调用 1.3 for-in循环语句 2.内置对象 2.1 Array(数组)对象 属性和方法 2.2 String(字符串)对象 属性和方法 2.3 Math对象 2.4 日期对象 前言&a…

SIEM 中不同类型日志监控及分析

安全信息和事件管理(SIEM)解决方案通过监控来自网络的不同类型的数据来确保组织网络的健康安全状况,日志数据记录设备上发生的每个活动以及整个网络中的应用程序,若要评估网络的安全状况,SIEM 解决方案必须收集和分析不…

【Docker】Docker基本使用介绍

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 一、安装Docker 首先,你需要从官方网站上下载Docker的安装包,并按…

mysql数据库使用技巧整理

查看当前数据库已建立的client连接 mysql中执行 -- 查看数据库允许的最大连接数,不是实时正在使用的连接数 SHOW VARIABLES LIKE max_connections; mysql中执行 -- 查看当前数据库client的连接数 SHOW STATUS LIKE Threads_connected; mysql中执行 -- 查看具…

算法通关村十三关-白银:数字与数学高频问题

有很多解题技巧,需要持续积累 1.数组实现加法专题 如果让你用数组来表示一个数,如何实现加法呢? 理论上仍然从数组末尾向前挨着计算就行了,但是实现的时候会发现很多问题,例如需要进位该怎么办? 进一步拓…

第三课:C++实现PDF去水印

PDF去水印是一项非常复杂的任务,需要一定的计算机图形学知识和技术,也需要使用到一些专业的工具库。以下是一种可能的实现方法: 首先,需要将PDF文件解析成一系列图形元素,包括文字、矢量图形等。可以使用开源库Poppler或MuPDF来解析PDF文件。 接下来,需要判断PDF文件是否…

微服务-gateway基本使用

文章目录 一、前言二、gateway网关1、什么是微服务网关?2、微服务架构下网关的重要性2.1、没有网关2.2、有网关 3、gateway的功能4、gateway实战4.1、依赖配置4.2、添加网关配置4.3、添加网关启动类4.4、查看项目是否启动成功4.5、验证路由配置是否正确 三、总结 一…

行业追踪,2023-09-04

自动复盘 2023-09-04 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

2023年高教社杯 国赛数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法,其…

用Qt自制一个小闹钟

小闹钟 功能 当按下启动按钮时,停止按钮可用,启动按钮不可用,闹钟无法设置,无法输入自定义内容 当按下停止按钮时,暂停播报,启动按钮可用,闹钟可以设置,可以输入自定义内容 .pro文…

Springboot项目bootstrap配置未生效、application.yml未读取bootstrap配置文件参数

场景 Springboot项目,application.yml未读取bootstrap配置文件参数 原因 Springboot项目不读取bootstrap.yml配置文件!!! SpringCloud项目才读取bootstrap.yml配置文件!!!

分布式环境集成JWT(Java Web Token)

目录 一,说明:二,Token、Session和Cookie比较三,Spring Boot项目集成JWT1,引入依赖2,Token工具类3,定义拦截器4,注册拦截器5,编写登录代码6,测试 四&#xff…

Python3.11教程3:模块和包(pip/conda)、文件系统(os/ shutil/json/pickle/openpyxl/xlrd)

文章目录 七、模块和包7.1 模块7.1.1 模块搜索路径7.1.2 PYTHONPATH和sys.path7.1.2 模块的导入和常见错误7.1.3 模块的缓存机制7.1.4 __name__ 和 __main__ 函数 7.2 标准库7.3 包7.3.1 创建包7.3.2 导入包7.3.3 pip包管理器7.3.4 conda 7.4 如何组织和管理大型项目中的模块与…