简介:Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。
总体来说,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.1 镜像操作](#2.1 镜像操作)
[2.2 容器操作](#2.2 容器操作)
[2.3 创建容器](#2.3 创建容器)
[2.4 容器命令案例](#2.4 容器命令案例)
[2.5 创建数据卷](#2.5 创建数据卷)
[2.6 挂载数据卷](#2.6 挂载数据卷)
[3.1 镜像结构](#3.1 镜像结构)
[3.2 Dockerfile语法](#3.2 Dockerfile语法)
[4.1 初识DockerCompose](#4.1 初识DockerCompose)
[5.1 什么是镜像仓库](#5.1 什么是镜像仓库)
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 |