Docker2:docker快速入门(部署MySQL)

欢迎来到“雪碧聊技术”CSDN博客!

在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目心得。

让我们一同在Java的广阔天地中遨游,携手提升技术能力,共创美好未来!感谢您的关注与支持,期待在“雪碧聊技术”与您共同成长! 

目录

一、部署MySQL

1、输入docker命令,一键部署MySQL

举例:

①在linux控制台,输入上面的docker命令,一键安装、部署MYSQL

②使用navicat,连接刚才安装、部署好的mysql

2、镜像和容器

①先声明一个观点:

②什么是镜像?

③镜像的强大之处

④什么是容器?

3、镜像仓库

4、docker运行的流程

二、命令解读

1、解读上述命令

①docker run -d:创建并运行该容器(运行容器=运行容器内的进程),-d表示让容器在后台运行。

②--name mysql:给容器起一个名字(名字必须唯一)叫mysql(叫啥都行,也可以叫mysql123),方便我们区分不同的容器。

③-p 3306:3306:设置端口映射。将宿主机的端口3306,映射到容器的3306端口。

④-e KEY=VALUE:是设置环境变量。具体设置哪些环境变量,由镜像的制作者提供。我们做的就是去docker官网查看对应镜像需要哪些环境变量

⑤mysql:指定所运行镜像的名字。比如我们想运行mysql,此处就写mysql;我们想运行nginx,此处就写nginx。

2、为什么要做宿主机—>容器的端口映射 ?

举例:

3、总结


一、部署MySQL

1、输入docker命令,一键部署MySQL

        先停掉虚拟机中的MySQL,确保你的虚拟机已经安装了Docker,且网络开通的情况下,执行下面命令即可安装MySQL:

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

举例:

①在linux控制台,输入上面的docker命令,一键安装、部署MYSQL
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

        运行结果:

        注意:如果报错,可能是我们配置的docker镜像源失效了,我们换一个就行。

        举例:

# 创建目录
mkdir -p /etc/docker
 
# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://mirrors.tuna.tsinghua.edu.cn",
        "http://mirrors.sohu.com",
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "https://ccr.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://docker.awsl9527.cn"
    ]
}
EOF
 
# 重新加载配置
systemctl daemon-reload
 
# 重启Docker
systemctl restart docker
②使用navicat,连接刚才安装、部署好的mysql

        

        可见此时成功连接到了Linux上的数据库。 

2、镜像和容器

①先声明一个观点:

        我们安装QQ时,安装完的最终结果,是得到了磁盘上关于QQ的一堆文件。

        举例:我们安装完QQ,会得到以下磁盘文件.

                那么此时我把这些文件打成压缩包发给你,你解压之后,就可以直接运行QQ。这就叫绿色免安装版。

②什么是镜像?

        举例:Docker在安装MySQL时,就是从镜像仓库中,下载上述的那些磁盘文件,我们有了关于MySQL运行所需的磁盘文件,就可以直接运行MySQL。只不过在docker中,那些磁盘文件不叫磁盘文件,而是叫“镜像”。

        因此,镜像的定义:当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身,还包含应用所需的环境、配置、系统函数库。

        简单来说,镜像就是一个安装好的、配置好的、包含所需的环境、配置、系统函数库的一个包(绿色免安装的包,里面全是文件,下载后直接就能运行)。我们无需操心该软件的安装过程、所需的依赖、环境等,因为包里都有。

③镜像的强大之处

        因为镜像不仅包含了应用本身所对应的文件,还包含了应用所需的环境、配置、系统函数库等。因此镜像能够忽略操作系统、环境的差异。根本原因就是,我使用docker安装该应用时,连同该应用所需的环境、配置、系统函数库也下载到了本地。

④什么是容器?

        容器:Docker会在运行镜像时,创建一个隔离环境,这个隔离环境就称为“容器”。

        也就是说,你运行起来的东西,它和其他的进程是相互隔离、互不干扰的。

        举例:

         因此我们多次利用docker启动mysql,分别指定不同的端口,就搭建了一个mysql的集群。每一个mysql都处于一个独立的容器,容器之间相互隔离、互不干扰。

3、镜像仓库

        镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:Docker Hub。

        我们在这个镜像仓库中,可以寻找到各种软件的镜像(绿色免安装版,拿来磁盘文件,直接就运行应用)。

        一般是软件的开发者,将自己软件的镜像放到镜像仓库中的。

        比如:我是一款游戏的开发者,我想让别人通过docker直接安装、部署我们的游戏,那么就可以将该游戏所对应的所有磁盘文件(磁盘文件就叫“镜像”),直接放到镜像仓库,这样别人就可以通过docker命令直接下载了。

4、docker运行的流程

二、命令解读

1、解读上述命令

①docker run -d:创建并运行该容器(运行容器=运行容器内的进程),-d表示让容器在后台运行。

②--name mysql:给容器起一个名字(名字必须唯一)叫mysql(叫啥都行,也可以叫mysql123),方便我们区分不同的容器。

③-p 3306:3306:设置端口映射。将宿主机的端口3306,映射到容器的3306端口。

④-e KEY=VALUE:是设置环境变量。具体设置哪些环境变量,由镜像的制作者提供。我们做的就是去docker官网查看对应镜像需要哪些环境变量

        此处-e TZ=Asia/Shanghai \ 是设置时区为上海(东八区)。

               -e MYSQL_ROOT_PASSWORD=123\ 是设置账号为root,密码为123。

⑤mysql:指定所运行镜像的名字。比如我们想运行mysql,此处就写mysql;我们想运行nginx,此处就写nginx。

        注意:此时我们这个镜像名称不是完整的格式,完整的格式如下:

    

        如果不声明镜像的版本号,那么就采用最新版本。

2、为什么要做宿主机—>容器的端口映射 ?

        因为docker容器有自己的空间,是对外隔离的,我们ping该容器的ip根本ping不通,更别说找到该容器的3306端口了。

        因此只能将该容器的3306端口,映射到Linux虚拟机的3306端口,此时我们找到linux虚拟机的3306端口,就相当于找到了docker容器的3306端口。

        注意:docker容器的端口,一般采用对应应用的默认端口。

        举例:如果docker的某个容器,运行的是Mysql应用,那么就占用该容器的3306端口,因为Mysql默认占用3306端口;同理,如果该容器运行的是nginx应用,那么就占用该容器的80端口,因为Nginx默认占用80端口。

举例:

        此时我们创建、运行一个容器,叫mysql2.0,该容器运行的是mysql,该进程占用容器的3306端口号(这是固定的,因为mysql默认占用3306端口),此时我们将该容器的3306端口,映射到linux虚拟机的3307端口,这样一来,我们只需要连接192.168.1.100(虚拟机的ip)的3307端口,就能使用该mysql。

        如下:

3、总结

以上就是docker 部署MySQL、命令解读的全部内容,想了解更多关于docker的知识,请关注本博主~~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

oracle的静态注册和动态注册

oracle的静态注册和动态注册 静态注册&#xff1a; 静态注册 : 指将实例的相关信息手动告知 listener 侦 听 器 &#xff0c; 可以使用netmgr,netca,oem 以及直接 vi listener.ora 文件来实现静态注册&#xff0c;在动态注册不稳定时使用&#xff0c;特点是&#xff1a;稳定&…

杰发科技AC7840——EEP中RAM的配置

sample和手册中示例代码的sram区地址定义不一样 这个在RAM中使用没有限制&#xff0c;根据这个表格留下足够空间即可 比如需要4096字节的eep空间&#xff0c;可以把RAM的地址改成E000&#xff0c;即E000-EFFF&#xff0c;共4096bytes即可。

洛谷 P1616 疯狂的采药 C语言 记忆化搜索

题目&#xff1a; https://www.luogu.com.cn/problem/P1616?contestId215526 完全背包问题&#xff0c;最后一个超出空间了。完全背包和就是无限次的拿&#xff0c;公式跟01背包差不多。 但是&#xff0c;只有当前能拿和拿不下&#xff0c;换下一个。注意要处理好边界条件。…

分布式 Data Warebase - 构筑 AI 时代数据基石

导读&#xff1a;作者以人类世界一个信息层次模型 DIKW 为出发点&#xff0c;引出对计算机世界&#xff08;系统&#xff09;处理数据过程的介绍。接着以一个民宿平台数据架构随业务发展而不断演进的过程&#xff0c;展示了这场信息革命中&#xff0c;在具体应用场景下&#xf…

zotero7 插件使用

zotero style 1、下载地址 Zotero 插件商店 | Zotero 中文社区 2、配置 在工具插件里 3、配置 style 进入高级→设置编辑器 查找 easy 设置完即可显示&#xff0c; 注1&#xff1a;easyscholar的密钥要自行申请注册&#xff0c;注册地址&#xff1a;easySchol…

使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变

作者&#xff1a;来自 Elastic Greg Crist Elasticsearch 推出了一项新功能&#xff1a;Elastic AI Assistant for Search。你可以将其视为 Elasticsearch 和 Kibana 开发人员的内置指南&#xff0c;旨在回答问题、引导你了解功能并让你的生活更轻松。在 Microsoft AI Services…

CCF认证202406-02 | 矩阵重塑(其二)

题目背景 矩阵转置操作是将矩阵的行和列交换的过程。在转置过程中&#xff0c;原矩阵 A 的元素 aij​ 会移动到转置后的矩阵 AT 的 aji​ 的位置。这意味着 A 的第 i 行第 j 列的元素在 AT 中成为了第 j 行第 i 列的元素。 例如&#xff0c;有矩阵 A 如下&#xff1a; A[abc…

【CSP CCF记录】201903-2第16次认证 二十四点

题目 样例1输入 10 934x3 54x5x5 7-9-98 5x6/5x4 3579 1x19-9 1x9-5/9 8/56x9 6x7-3x6 6x44/5 样例1输出 Yes No No Yes Yes No No No Yes Yes 样例1解释 思路 参考&#xff1a;CCF小白刷题之路---201903-2 二十四点&#xff08;C/C 100分&#xff09;_ccf认证小白-CSDN博客 …

docker 容器运行Ruoyi-cloud

1&#xff0c;linux系统安装openjdk1.8,mvn,dokcer,node,git 2&#xff0c;拉取代码 1&#xff09;查看gitee仓库地址 2&#xff09;创建/app文件夹&#xff0c;进入app目录 mkdir /app cd /app 3&#xff09;clone代码 4&#xff09;修改配置文件中nacos地址 # 修改注…

浮点数的表示—IEEE754标准

浮点数的表示—IEEE754标准 引言 我们知道&#xff0c;在计算机中&#xff0c;数字以0和1组成的二进制序列来表示。但是&#xff0c;对于非常大的数字以及非常接近0的数字&#xff0c;简单的存储方式往往会造成精度的丢失。 为了解决这个问题&#xff0c;提供更高效的浮点数…

Window脚本自动化uiautomation详解_番茄出品

Window脚本自动化uiautomation详解_番茄出品 start 有时候pc端电脑&#xff0c;会有一些重复操作&#xff0c;希望能够通过代码实现这些操作。尝试了好几个库&#xff0c;但是识别准确率很低&#xff0c;在苦苦寻找之后&#xff0c;发现一个非常好用的 python 库 &#xff1a…

Java技术复习提升 11 常用类

第11章 常用类 1 包装类 不同包装类都继承自Object类 Serialiazble接口表示该类表示序列化 Comparable接口用于定义自然顺序 包装类和基本数据的转换 jdk5之前手动装箱拆箱 jdk5之后自动装箱拆箱 自动装箱底层调用的是valueof方法 拆箱仍然是intvalue方法 public class Inte…

Oracle - 多区间按权重取值逻辑 ,分时区-多层级-取配置方案(三)

本篇紧跟第一篇&#xff0c; 和 第二篇无关 Oracle - 多区间按权重取值逻辑 &#xff0c;分时区-多层级-取配置方案 Oracle - 多区间按权重取值逻辑 &#xff0c;分时区-多层级-取配置方案(二) 先说需求&#xff1a; 某业务配置表&#xff0c;按配置的时间区间及组织层级取方…

DASCTF 2024 10月 Reverse 完成笔记 附题目

题目链接: https://github.com/Airrcat/long_long/tree/main/DASCTF_2024_10 ezre 查PE 32位无壳 开始分析 看起来很像加壳了 字符串未有暴露信息&#xff0c;但是段中有一个themida 发现是一个壳&#xff0c;直接去找脱壳机 一些脱壳工具&#xff08;Magicmida)是…

kafka进阶_2.存储消息

文章目录 一、存储消息介绍二、副本同步2.1、数据一致性2.2、HW在副本之间的传递 如果想了解kafka基础架构和生产者架构可以参考 kafka基础和 Kafka进阶_1.生产消息。 一、存储消息介绍 数据已经由生产者Producer发送给Kafka集群&#xff0c;当Kafka接收到数据后&#xff0c…

志愿者小程序源码社区网格志愿者服务小程序php

志愿者服务小程序源码开发方案&#xff1a;开发语言后端php&#xff0c;tp框架&#xff0c;前端是uniapp。 一 志愿者端-小程序&#xff1a; 申请成为志愿者&#xff0c;志愿者组织端进行审核。成为志愿者后&#xff0c;可以报名参加志愿者活动。 志愿者地图&#xff1a;可以…

SpringMVC-01-回顾MVC

1. 回顾MVC 1.1. 什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写&#xff0c;是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式&#xff0c;MVC是一种架构模式。…

解决k8s拉取私有镜像401 Unauthorized 问题

拉取镜像时未指定账户和密码通常是因为需要访问的镜像仓库启用了认证&#xff0c;但 Kubernetes 默认配置中未提供访问凭据。要解决此问题&#xff0c;可以按照以下步骤配置镜像仓库的认证信息&#xff1a; 1. 创建 Kubernetes Secret 为镜像仓库配置访问凭据&#xff0c;使用…

AmazonS3集成minio实现https访问

最近系统全面升级到https&#xff0c;之前AmazonS3大文件分片上传直接使用http://ip:9000访问minio的方式已然行不通&#xff0c;https服务器访问http资源会报Mixed Content混合内容错误。 一般有两种解决方案&#xff0c;一是升级minio服务&#xff0c;配置ssl证书&#xff0c…

el-table-column自动生成序号在序号前插入图标

实现效果&#xff1a; 代码如下&#xff1a; 在el-table里加入这个就可以了&#xff0c;需要拿到值可以用scope.$index ​​​​​​​<el-table-column type"index" label"序号" show-overflow-tooltip"true" min-width"40">…