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

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

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

目录

1、初始Docker

[1.1 什么是Docker](#1.1 什么是Docker)

[1.2 Docker和虚拟机的区别](#1.2 Docker和虚拟机的区别)

[1.3 Docker架构](#1.3 Docker架构)

[1.4 安装Docker](#1.4 安装Docker)

2、Docker的基本操作

[2.1 镜像操作](#2.1 镜像操作)

[2.2 容器操作](#2.2 容器操作)

[2.3 创建容器](#2.3 创建容器)

[2.4 容器命令案例](#2.4 容器命令案例)

[2.5 创建数据卷](#2.5 创建数据卷)

[2.6 挂载数据卷](#2.6 挂载数据卷)

3、Dockerfile自定义镜像

[3.1 镜像结构](#3.1 镜像结构)

[3.2 Dockerfile语法](#3.2 Dockerfile语法)

4、Docker-Compose

[4.1 初识DockerCompose](#4.1 初识DockerCompose)

5、Docker镜像服务

[5.1 什么是镜像仓库](#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、总结

相关推荐
Gl�ria4 分钟前
Linux 清理日志常用命令
linux·运维·服务器
linweidong34 分钟前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
OpenAnolis小助手40 分钟前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
ForteScarlet1 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖1 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
小刘在重生~1 小时前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
Orange_sparkle2 小时前
Pi Agent vs LangGraph:从人机交互、企业 RAG 到持久化工作流的完整选型指南
java·网络·人机交互
j7~2 小时前
【Linux网络加餐(二)】《进程组,会话,控制终端,作业控制和守护进程》---详解
linux·运维·服务器·守护进程·会话·进程组·控制终端
名字还没想好☜2 小时前
Docker 数据卷实战:volume、bind mount、tmpfs 到底怎么选,数据持久化与权限坑
运维·docker·容器·kubernetes
天道jimmy2 小时前
VulnHub 系列:Prime,1
linux·运维·服务器