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、总结

相关推荐
爪哇学长1 分钟前
双指针算法详解:原理、应用场景及代码示例
java·数据结构·算法
ExiFengs5 分钟前
实际项目Java1.8流处理, Optional常见用法
java·开发语言·spring
paj1234567897 分钟前
JDK1.8新增特性
java·开发语言
繁依Fanyi18 分钟前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.18 分钟前
Linux|环境变量
linux·运维·服务器
wenyue112119 分钟前
Revolutionize Your Kubernetes Experience with Easegress: Kubernetes Gateway API
容器·kubernetes·gateway
慧都小妮子29 分钟前
Spire.PDF for .NET【页面设置】演示:打开 PDF 时自动显示书签或缩略图
java·pdf·.net
yunfanleo33 分钟前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
m512733 分钟前
LinuxC语言
java·服务器·前端
IU宝37 分钟前
C/C++内存管理
java·c语言·c++