SpringCloud技术—Docker详解、案例展示

devtools/2024/11/30 0:46:09/

简介:Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。

        总体来说,Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

目录

1、初始Docker

1.1 什么是Docker

1.2 Docker和虚拟机的区别

1.3 Docker架构

1.4 安装Docker

2、Docker的基本操作

2.1 镜像操作

2.2 容器操作

2.3 创建容器

2.4 容器命令案例

2.5 创建数据卷

2.6 挂载数据卷

3、Dockerfile自定义镜像

3.1 镜像结构

3.2 Dockerfile语法

4、Docker-Compose

4.1 初识DockerCompose

5、Docker镜像服务

5.1 什么是镜像仓库

6、总结


1、初始Docker

1.1 什么是Docker

图 1.1-1 Docker可以解决的问题

大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:

  • 依赖关系复杂,容易出现兼容性问题
  • 开发、测试、生产环境有差异

上图中展示的就是Docker解决项目在移植过程中出现的不兼容的问题,通过提前将所需要的函数库、依赖打包好从而解决了在不同环境中出现的不兼容的问题

1.2 Docker和虚拟机的区别

图 1.2-1 Docker和虚拟机
上图中展示的是Docker和虚拟机的不同,主要区别就是Docker通过打包这一操作,将所需要的依赖、函数库整合到一起,在操作系统方面直接调用其内核命令

1.3 Docker架构

图 1.3-1 Docker架构
上图中展示的是Docker架构,即Docker是一个CS架构,分为客户端、服务端。

1.4 安装Docker

图 1.4-1 安装Docker

百度网盘:

链接:https://pan.baidu.com/s/1DBsqFiYpnxAw3_5h2613YA 
提取码:6666

上图中的链接是Docker安装的MD文件,详细说明了了如何安装,下载下来就好

2、Docker的基本操作

2.1 镜像操作

图 2.1-1 镜像操作命令

上图中展示的就是Docker常见命令,包括拉取镜像,上传镜像

2.2 容器操作

图 2.2-1 容器操作命令
上图中展示的就是Docker中容器的相关命令

2.3 创建容器

图  2.3-1  创建容器步骤
上图中展示的就是Docker创建并且运行容器的命令,图中需要注意的是各个参数的含义,这个命令在执行后会返回一个容器ID,这个ID是全局唯一的

2.4 容器命令案例

图 2.4-1 容器命令案例
上图中展示的就是Docker进入容器,且执行Linux命令的步骤

2.5 创建数据卷

图 2.5-1 容器与数据耦合
上图中展示的就是容器容器中的数据之间的矛盾
图 2.5-2 容器与数据耦合—数据卷
上图中展示的就是数据卷这一技术点,主要是为了解决 “图 2.5-1 容器与数据耦合” 中的问题
图 2.5-3 数据卷语法
上图中展示的就是数据卷的相关操作命令

2.6 挂载数据卷

图 2.6-1 挂载数据卷

上图中展示的就是创建一个数据卷,并且将数据卷挂到容器目录中

图 2.6-2 挂载目录
上图中展示的就是在虚拟机中创建一个容器,且将宿主机的目录和文件挂载到容器中去

3、Dockerfile自定义镜像

3.1 镜像结构

图 3.1-1 镜像结构

镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成,详细结构如下(从上到下,依次封装)

  • 基础镜像(系统函数库、环境、配置、文件)
  • 层(在基础镜像基础上添加安装包、依赖、配置等)
  • 入口(镜像运行入口、一般是程序的启动脚本和参数)
从上图中我们得知,构建一个镜像的步骤,即(基础镜像、层、入口),这样做的好处是今后的升级方便,针对需要直接修改对应层的代码就好

3.2 Dockerfile语法

 图 3.2-1 Dockerfile语法
上图中展示的就是DockerFile部分语法,在自己开发Docker镜像的时候使用的也是这几个命令

4、Docker-Compose

4.1 初识DockerCompose

图 4.1-1 初识DockerCompose

上图中说明了DockerCompose的分布式应用的创建、配置、步骤。

详情请看小编的详细说明:

百度网盘:https://pan.baidu.com/s/1J-vW2DJMHEh7ecAGULjkLg  提取码:6666

5、Docker镜像服务

5.1 什么是镜像仓库

图 5.1-1 什么是镜像仓库

Docker仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的场所。我们将镜像仓库分为公共镜像仓库和私有镜像仓库。

公有镜像仓库:是可以被任何人使用的

私有镜像仓库:是指部署在公司或组织内部,主要用于自身应用Docker镜像存储、分发的镜像仓库

详细的搭建步骤,可以下载Docker.md文件,里面有详细的步骤、相关指令代码

百度网盘地址:https://pan.baidu.com/s/1J-vW2DJMHEh7ecAGULjkLg  提取码:6666

6、总结


http://www.ppmy.cn/devtools/7731.html

相关文章

【数据结构-树和二叉树-森林-哈夫曼树】

目录 1 树1.1 树的描述(基本术语) 2 二叉树(树的度最大为2)2.1 注意事项-五种基本形态2.2 二叉树的抽象数据类型定义 3 二叉树的性质3.1 两种特殊形式的二叉树-重点会计算3.2 题目练习: 4 二叉树的存储结构4.1 顺序存储…

Mac 下安装PostgreSQL经验

使用homebrew终端软件管理器去安装PostgreSQL 如果没有安装brew命令执行以下命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 沙果开源物联网系统 SagooIoT | SagooIoT 1.使用命令安装postgreSQL brew i…

算法课程笔记——STL题目

长度为2的字符串,当in下标为一,也就是\n,当i!n,就是输出空格 &&且 city从citys里面取 加速后就不能混用scanf

骑砍2霸主MOD开发(6)-使用C#-Harmony修改本体游戏逻辑

一.C#-Harmony反射及动态注入 利用C#运行时环境的反射原理,实现对已加载DLL,未加载DLL中代码替换和前置后置插桩. C#依赖库下载地址:霸王•吕布 / CSharpHarmonyLib GitCodehttps://gitcode.net/qq_35829452/csharpharmonylib 根据实际运行.Net环境选择对应版本的0Harmony.dll…

IOS 32位调试环境搭建

一、背景 调试IOS程序经常使用gdb,目前gdb只支持32位程序调试,暂不支持IOS 64位程序调试。IOS 32位程序使用GDB调试之前,必须确保手机已越狱,否则无法安装和使用GDB调试软件。下面详细介绍GDB调试IOS 32位程序的环境搭建。 二、I…

子组件向父组件传参的方式?

在Vue.js中,子组件向父组件传参通常通过自定义事件($emit)来实现。子组件通过触发一个事件,并将需要传递的参数作为事件的负载,父组件在模板中监听这个事件,并在事件处理函数中接收这些参数。 以下是一个简…

【Hadoop】- YARN架构[7]

前言 Yarn架构是一个用于管理和调度Hadoop集群资源的系统。它是Hadoop生态系统的一部分,主要用于解决Hadoop中的资源管理问题。 通过使用Yarn架构,Hadoop集群中的不同应用程序可以共享集群资源,并根据需要动态分配和回收资源。这种灵活的资…

鸿蒙OpenHarmony【轻量系统编写“Hello World”程序】 (基于Hi3861开发板)

编写“Hello World”程序 下方将通过修改源码的方式展示如何编写简单程序,输出“Hello world”。请在下载的源码目录中进行下述操作。 前提条件 已参考鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到…