第一章 Docker基础
目录一、Docker简介
在这一部分我们主要讲两个方面: docker是什么、docker特点。
1 Docker是什么?
-
Docker是什么?
docker的中文解释是码头工人。
-
官方解释
Docker是一个开源的容器引擎,它基于LCX容器技术,使用Go语言开发。
源代码托管在Github上,并遵从Apache2.0协议。
Docker采用C/S架构,其可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。
Docker就是一种快速解决生产问题的一种技术手段,开发,运行和部署应用程序的开放管理平台。
-
使用方式
- 开发人员能利用docker开发和运行应用程序
- 运维人员能利用docker部署和管理应用程序
-
Docker与生活场景对比
-
单独理解容器的概念:
Docker提供了在一个完全隔离的环境中打包和运行应用程序的能力,这个隔离的环境被称为容器。
由于容器的隔离性和安全性,因此可以在一个主机(宿主机)上同时运行多个相互隔离的容器,互不干预。
2 为什么使用Docker?
Docker使您能够将应用程序与基础架构分开,以便您可以快速交付软件。
借助Docker,您可以像管理应用程序─样管理基础架构。
通过利用Docker的方法快速进行运输,测试和部署代码,可以显著缩短编写代码和在生产环境中运行代码之间的延迟。
例如:开发人员在本地编写代码,可以使用Docker同事进行共享,实现协同工作。
使用Docker开发完成程序,可以直接对应用程序执行自动和手动测试。
当开发人员发现错误或BUG时,可以直接在开发环境中修复后,并迅速将它们重新部署到测试环境进行测试和验证。
利用Docker开发完成后,交付时,直接交付Docker,也就意味着交付完成。后续如果有提供修补程序或更新,需要推送到生成环境运行起来,也是一样的简单。
Docker主要解决的问题:
-
保证程序运行环境的一致性;
-
降低配置开发环境、生产环境的复杂度和成本;
-
实现程序的快速部署和分发。
3 Docker的架构与结构
架构图:
Docker是采用了(c/s)架构模式的应用程序Client
dockerCLl:客户端docker命令行
REST APl:一套介于客户端与服务端的之间进行通信并指示其执行的接口
Server docker daemon:服务端dacker守护进程等待客户端发送命令来执行
Docker的四大核心技术
- IMAGE-镜像
- CONTAINER-容器
- DATA VOLUMES-数据卷
- NETWORK-网络
结构图:
-
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的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。【超精简版本:比如ubuntn只有80多M
标签:01,sudo,基础,apt,https,ubuntu,Docker,docker From: https://www.cnblogs.com/yangyi215/p/17367378.html