Docker 是一个开源的
Docker的作用如同在windows环境下的VMware,是一种环境的虚拟化方式,但是docker和其他传统的虚拟机(主要对比VMware,另外docker是一种
受益于docker的分层技术和镜像技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为 stable, test, 和 nightly 三个更新频道。每六个月发布一个 stable 版本。
# 更新yum
yum update
# 安装所需软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看docker版本(如果需要)
yum list docker-ce --showduplicates|sort -r
# 安装docker(如docker-ce-18.03.1.ce)
yum install docker-ce-18.03.1.ce -y
# 启动docker
systemctl start docker
# 加入开机启动
systemctl enable docker
# 配置镜像
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"] #这是网易镜像,还有其他国内镜像如阿里云等
}
镜像:
Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变
镜像的构建是分层的,不同于ios那样的打包系统,docker的镜像只是一个虚拟的概念,时间上它并不是由一个文件组成的而是由一组文件组成的。
镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。
在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。因此,在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉
容器:
镜像( Image )和容器( Container )的关系,就像是面向对象程序设计中的 类 和 实例一样,镜像是静态的定义,
仓库:
镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。一个 Docker Registry 中可以包含多个仓库( Repository );每个仓库可以包含多个标签( Tag )
本文为龚学鹏原创文章,转载无需和我联系,但请注明来自龚学鹏博客http://www.noobcoder.cn
最新评论