Docker核心概念

1、为什么是Docker?

Docker 是一个开源的应用容器引擎,基于 Go(https://www.runoob.com/go/go-tutorial.html)语言 并遵从 Apache2.0 协议开源,Docker 是世界领先的软件容器平台。

开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作(测试环境没问题,一到生产环境,就一大堆报错)”的问题。

运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。

企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux和Windows Server 应用发布新功能。

Docker 采用 CS 架构:

- 客户端:docker 命令负责与服务器通信,通过 RESTful API 操作。

- 服务器端:docker 服务作为守护进程运行,承担创建、运行和下 载容器镜像的任务。

2、Docker解决了什么问题

  • 快速交付和部署(镜像与容器)

  • 资源的高效利用和隔离(高密度部署)

  • 轻松的迁移和扩展(一次封装,到处运行)

3、Docker使用步骤

  • 安装Docker(安装应用商店)

  • 寻找/下载镜像(寻找/下载app)

  • 启动容器(启动应用)

  • 移植(别的手机安装应用商店,继续以前流程)

4、容器化对比虚拟机

对比属性
Container
VM
隔离性基于进程隔离
提供资源的完全隔离
启动时间
秒级
分钟级
内核
共用宿主机内核
使用独立内核
占用资源
MB级
GB级
系统支持扩容
单机支持上千容器
一般几十个

5、核心概念

  • docker镜像(Images):Docker镜像是用于创建Docker容器的模板。

  • docker容器(Container):镜像启动后的一个实例称为容器,容器是独立运行的一个或一组应用。

  • docker客户端(Client):客户端通过命令行或其他工具使用Docker API(https://docs.docker.com/reference/api/docker_remote_api)与Docker的守护进程进行通信。

  • docker主机(Host):一个物理或虚拟的机器用来执行Docker守护进程和容器。

  • docker仓库(Registry):Docker仓库用来存储镜像,可以理解为代码控制中的代码仓库,Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。

6、Docker 镜像

Docker镜像类似于虚拟机镜像,可以将他理解为一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了Mysql或用户需要的其它应用程序。

Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统被称为UnionFS。镜像可以基于Dockerfile构建,Dockerfile是一个描述文件,里面包含若干条命令,每条命令都会对基础文件系统创建新的层次结构。

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

7、Docker 容器

Docker容器是由Docker镜像创建的运行实例。Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用,容器是从镜像创建来的。容器可以启动、停止、删除,容器之间彼此隔离,互不可见。容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。

可以把容器看做是一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。

8、Docker 仓库

如果你使用过git和github就很容易理解Docker的仓库概念。Docker 仓库的概念跟Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

Docker仓库是存储镜像的仓库。可以有Public(公有仓库)和Private(私有仓库)。最大的公有仓库是Docker Hub(https://hub.docker.com)。

仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

Docker
面向对象
镜像

容器
对象

如果文章有任何错误欢迎不吝赐教,其次大家有任何关于运维的疑难杂问,也欢迎和大家一起交流讨论。关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。群主还经营一家Orchis饰品店,喜欢的小伙伴欢迎????前来下单。

扫描二维码

获取更多精彩

运维猫公众号

有需要技术交流的小伙伴可以加我微信,期待与大家共同成长,本人微信:

扫描二维码

添加私人微信

运维猫博主

扫码加微信

最近有一些星友咨询我知识星球的事,我也想继续在星球上发布更优质的内容供大家学习和探讨。运维猫公众号平台致力于为大家提供免费的学习资源,知识星球主要致力于即将入坑或者已经入坑的运维行业的小伙伴。

点击阅读原文  查看更多精彩内容!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值