作者:季柔原 | 来源:互联网 | 2023-10-11 21:17
今天小普要和各位分享的是最近一直很火的容器小鲜肉,那就是docker啦。本文主要会介绍docker的一些基础的概念以及docker的最简单的几个安装方式。
Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere,按照小普的理解是就是一次编译,到处运行,这个有点类似java虚拟机的意思。因此本篇文章主要涉及的docker基础知识:docker特征,docker组件,以及如何安装使用docker。
Docker 特征
Docker有不少有趣的功能,主要包括以下几点:
速度飞快以及优雅的隔离框架
物美价廉
CPU/内存的低消耗
快速开/关机
跨云计算基础构架
Docker 组件与元素
Docker有三个组件和三个基本元素,三个组件分别是:
Docker Client 是用户界面,它支持用户与Docker Daemon之间通信。
Docker Daemon,运行于主机上,处理服务请求。
Docker Index,是中间***构,支持拥有公有与私有访问权限的Docker容器镜像的备份。
三个基本要素分别是:
Docker Containers,负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。
Docker Images,是一个只读模板,用来运行Docker容器。
DockerFile,是文件指令集,用来说明如何自动创建Docker镜像。
有一点是需要大家知道的,Docker其实是使用以下操作系统的功能来提高容器技术效率:
Namespaces 充当隔离的第一级。确保一个容器中运行一个进程而且不能看到或影响容器外的其它进程。
CGroups是LXC的重要组成部分,具有资源核算与限制的关键功能。
UnionFS(文件系统)作为容器的构建块。为了支持Docker的轻量级以及速度快的特性,它创建了用户层。
如何把它们放在一起
运行任何应用程序,都需要有两个基本步骤:构建一个镜像,然后运行容器。
这些步骤都是从Docker Client的命令开始的。Docker Client使用的是Docker二进制文件。在基础层面上,Docker Client会告诉Docker Daemon需要创建的镜像以及需要在容器内运行的命令。当Daemon接收到创建镜像的信号后,会进行如下操作:
第1步:构建镜像
如前所述,Docker Image是一个构建容器的只读模板,它包含了容器启动所需的所有信息,包括运行程序和配置数据。
每个镜像都源于一个基本的镜像,然后根据Dockerfile中的指令创建模板。对于每个指令,在镜像上创建一个新的层面。
一旦镜像创建完成,就可以将它们推送到中间registry:Docker Index,以供他人使用。然而,Docker Index为镜像提供了两个级别的访问权限:公有访问和私有访问。你可以将镜像存储在私有仓库,Docker官网有私有仓库的套餐可以供你选择。总之,公有仓库是可搜索和可重复使用的,而私有仓库只能给那些拥有访问权限的成员使用。Docker Client可用于Docker Index内的镜像搜索。
第2步:运行容器
运行容器源于我们在第一步中创建的镜像。当容器被启动后,一个读写层会被添加到镜像的顶层。当分配到合适的网络和IP地址后,需要的应用程序就可以在容器中运行了。
目前为止,我们已经介绍了Docker的基本概念,接下来,让我们一起安装Docker!
安装Docker:快速指南
下面让我们来看看如何在Ubuntu 12.04 LTS上安装Docker,我使用的是咱们睿江云的主机,是完全可以实现的哦。
检查APT系统的HTTPS兼容性。如果usr/lib/apt/methods/https文件不存在,请安装apt-transport-https程序包。
在本地添加Docker Repositor**。 Repository key: hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
添加Docker Repository到APT源列表。
安装lxc-Docker程序包。 sudo apt-get update sudo apt-get install lxc-docker
验证所安装的内容。 sudo docker run -i -t ubuntu /bin/bash
好了,到这里就介绍完关于docker是什么,以及如何最快安装docker的方法了哦,下期的干货,小普将和大家分享下,关于几个docker命令的简单使用以及个人学习心得,敬请期待。
文章来自公众号:睿江云计算
睿江云官网链接:https://www.eflycloud.com/home?from=RJ0024