一、Docker简介

连载文章:Docker大纲

Docker-环境的集装箱

一、Docker的特点

  • Docker 可以加速新技术的采用,即使是在那些保守的企业
  • Docker 让维护旧的系统和代码更简单
  • Docker 可以快速降低部署的痛苦
  • Docker 可以为财富500强的企业和创业公司及个人解决运维部署问题
  • 总体解决了生产环境、测试环境、开发环境处理时时间的浪费。

 

二、Docker常用网址

 

三、Docker架构图及其解析

 

 

 新手学习docker,可以把它看成是一个360软件管家

我们Docker需要安装镜像,就好比360安装软件。

Docker运行需要安装镜像,然后丢到容器运行。

电脑需要安装软件,用360安装后,然后运行。

Docker ->安装到本地->通过容器来运行->使用Images存储镜像文件->每次运行会去images镜像文件去拿取,如果没有就去中央仓库,也就是Docker Hup镜像官网。 

这个过程又可以相当于与Maven的jar包读取,中央仓库与本地仓库的盖帘 Docker即是中央存储仓库与本地镜像仓库

Docker - - > 360软件助手 下载镜像 ->下载软件安装

客户端 - > Docker Host 宿主机 -> 仓库(Docker-Hup) PS:过程相当于Maven

镜像可以理解为安装包,容器是通过镜像实例化出来的

名词介绍:

PS:可以有私服

Client:本地客户端

Docker Host: 宿主机(虚拟化的地址)PS: 服务器

Registry: Docker中央仓库 官网提供镜像资源,根据命令进行拉取。

images:存储镜像。读取资源先去Images 去读取,若有则读取,若无去仓库拉取文件存入本地再读取

Containers: 容器,运行镜像文件

d..Pull:拉取镜像文件

d..Run: 运行

 

 四、Docker基本命令

Docker ps用来查看正在运行中的容器。

Docker ps命令的常用参数(及组合)如下。

-a: 查看所有容器,包括已经停止运行的。

-l: 查看刚刚启动的容器。

-q: 只显示容器ID

-l -q: 则可以返回刚启动的容器ID。

Docker stop用来停止运行中的容器,同时你还可以用Docker start来重新启动一个已经停止的容器。

Docker restart可以重启一个运行中的容器。这就相当于对一个容器先进行stop再start。

 

Docker服务对应的版本查看

# sudo Docker version

Docker命令帮助

#sudo Docker  //查看Docker的所有命令

#sudo Docker command --help  //查看单个Docker命令的帮助,如Docker run --help

 

五、词汇解释

为了更好的认识Docker,我们先来了解几个必备词汇:镜像,容器和仓库。

1、镜像(image):

Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

镜像是一种文件结构。Dockerfile中的每条命令都会在文件系统中创建一个新的层次结构,文件系统在这些层次上构建起来,镜像就构建于这些联合的文件系统之上。

Docker官方网站专门有一个页面来存储所有可用的镜像,网址是:index.docker.io。

2、容器( Container):

容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境,Docker 利用容器来运行应用。

3、仓库:

仓库是集中存放镜像文件的场所,仓库注册服务器(Registry)上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。目前,最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。

Docker仓库用来保存我们的images,当我们创建了自己的image之后我们就可以使用push命令将它上传到公有或者私有仓库,这样下次要在另外一台机器上使用这个image时候,只需要从仓库上pull下来就可以了。

Docker的运行离不开这几位的支持,Docker的成功也是拜几位所赐。也有人会误以为,Docker就是容器。但Docker只会傲娇地说:我不是容器,我是管理容器的引擎。

 

● Namespace(命名空间):

通俗来说,命名空间是一种将程序库名称封装起来的方法,它就像在各个程序库中立起一道道围墙。Namespace为Docker容器提供了以下六项隔离:

每个容器都有自己单独的名字空间,在同一个名字空间下的进程可以感知彼此的存在,而对外部的进程一无所知,从而达到独立和隔离的目的。

● CGroup(Control Group——控制组):

CGroup,顾名思义就是把进程放到一个组里面统一加以控制,通俗来说,CGroup可以限制、记录、隔离进程组所使用的物理资源(包括:CPU、内存、磁盘IO等),避免当多个容器同时运行时的对系统资源的竞争,为容器实现虚拟化提供了基本保证。

● UnionFS(联合文件系统):

UnionFS是一种分层、可叠加、轻量级并且高性能的文件系统,能够联合多个目录挂载到同一个虚拟文件系统下,同时独立地保持它们的物理内容。

UnionFS是 Docker 镜像的基础。

六、其它知识

  • Docker是Go语言开发的。
  • 架构演变过程(流行趋势): 2015年 Jenkins + Maven 2015之后: Docker + Jenkins + K8s

与虚拟机的直观区别

  1. 虚拟机通过物理进行虚拟化
  2. docker通过容器进行虚拟化

【原创系列】原文地址:https://blog.csdn.net/qq_43227967/article/details/89848527

作者:何卓(Lip·Gallager)

欢迎转发给更多需要的朋友查阅,写文不易,请支持原创!感谢大家!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值