目录
01 01-知识点概述
02 02-docker是什么
# 第 1 章 Docker基础
## 1.1 docker简介
在这一部分我们主要讲两个方面:
docker是什么、docker特点
### 1.1.1 docker是什么
#### docker是什么?
docker的中文解释是**码头工人**。
**官方解释:**
Docker是一个开源的容器引擎,它基于LCX容器技术,使用Go语言开发。
源代码托管在Github上,并遵从Apache2.0协议。
Docker采用C/S架构,其可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
Docker就是一种快速解决生产问题的一种技术手段,开发,运行和部署应用程序的开放管理平台。
**开发人员**能利用docker 开发和运行应用程序
**运维人员**能利用docker 部署和管理应用程序
03 03-docker和虚拟机的区别
#### Docker的生活场景对比:
| | |
| ------ | -------------------------------- |
| 物理机 |  |
| 虚拟机 |  |
| 容器是 |  |
#### 单独的理解一下容器:
| 动画片《七龙珠》里面的胶囊 | 1号胶囊启动后的效果 |
| -------------------------------- | ---------------------------- |
|  |  |
Docker提供了在一个完全隔离的环境中打包和运行应用程序的能力,这个隔离的环境被称为容器。
由于容器的隔离性和安全性,因此可以在一个主机(宿主机)上同时运行多个相互隔离的容器,互不干预。
04 04-docker架构
### 1.1.2为什么使用Docker
Docker使您能够将应用程序与基础架构分开,以便您可以快速交付软件。
借助Docker,您可以像管理应用程序一样管理基础架构。
通过利用Docker的方法快速进行运输,测试和部署代码,您可以显着缩短编写代码和在生产环境中运行代码之间的延迟。
**例如:**
开发人员在本地编写代码,可以使用Docker同事进行共享,实现协同工作。
使用Docker开发完成程序,可以直接对应用程序执行自动和手动测试。
当开发人员发现错误或BUG时,可以直接在开发环境中修复后,并迅速将它们重新部署到测试环境进行测试和验证。
利用Docker开发完成后,交付时,直接交付Docker,也就意味着交付完成。后续如果有提供修补程序或更新,需要推送到生成环境运行起来,也是一样的简单。
01 05-docker安装
02 06-docker的删除
**Docker主要解决的问题:**
保证程序运行环境的一致性;
降低配置开发环境、生产环境的复杂度和成本;
实现程序的快速部署和分发。
### 1.1.3Docker的架构与结构
**架构图**

**Docker**是采用了(c/s)架构模式的应用程序
Client dockerCLI :客户端docker命令行
REST API : 一套介于客户端与服务端的之间进行通信并指示其执行的接口
Server docker daemon:服务端dacker守护进程等待客户端发送命令来执行
03 07-docker加速器设置
04 08-docker操作的权限问题
**Docker**的四大核心技术
IMAGE-镜像
CONTAINER-容器
DATA VOLUMES-数据卷
NETWORK-网络
05 09-dcoker服务器相关的操作命令
**Docker客户端(Docker Client)**
Docker客户端(Docker Client)是用户与Docker进行交互的最主要方式。当在终端输入docker命令时,对应的就会在服务端产生对应的作用,并把结果返回给客户端。Docker Client除了连接本地服务端,通过更改或指定DOCKER_HOST连接远程服务端。
**Docker服务端(Docker Server)**
Docker Daemon其实就是Docker 的服务端。它负责监听Docker API请求(如Docker Client)并管理Docker对象(Docker Objects),如镜像、容器、网络、数据卷等
**Docker Registries**
俗称Docker仓库,专门用于存储镜像的云服务环境.
Docker Hub就是一个公有的存放镜像的地方,类似Github存储代码文件。同样的也可以类似Github那样搭建私有的仓库。
**Docker 对象(Docker Objects)**
镜像:一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。
容器:镜像被运行起来后的实例。
网络:外部或者容器间如何互相访问的网络方式,如host模式、bridge模式。
数据卷:容器与宿主机之间、容器与容器之间共享存储方式,类似虚拟机与主机之间的共享文件目录。
06 10-docker镜像的查询和下载
### 1.1.4官方资料:
Docker 官网:http://www.docker.com
Github Docker 源码:https://github.com/docker/docker
Docker 英文文档网址:https://docs.docker.com/
Docker 中文文档网址:http://docker-doc.readthedocs.io/zh_CN/latest/
### 1.1.4docker特点
三大理念:
构建:龙珠里的胶囊,将你需要的场景构建好,装在一个小胶囊里
运输:随身携带着房子、车子等,非常方便
运行:只需要你轻轻按一下胶囊,找个合适的地方一放,就ok了
优点:
多: 适用场景多