失效链接处理 |
docker操作手册 PDF 下载
本站整理下载:
提取码:id59
相关截图:
主要内容:
1.docker概述
1.1 docker是什么
docker是一个轻量级的容器,可以理解为经过优化处理的、丢掉没用的90%的虚拟机垃圾之后,剩下的一个小型的容器;与虚拟机的不同之处在于docker没有对硬件虚拟化,docker的硬件资源可动态分配调整。
1.2为什么使用docker
提供与物理机完全隔离的、可移植的运行环境,可以打包应用及应用所需的依赖到容器中,然后发布到任意的linux服务器,而不需担心linux服务器的环境
快速的创建和部署,容器可以秒级启动,且在不需要的时候可以快速移除
有效利用资源,因为docker经过极大的精简处理,几乎不占用系统资源,而docker中应用所需的资源又可以根据物理机资源动态分配
测试环境更接近于生产环境,因docker的隔离性,可将多个docker及装载的一系列服务部署于单机来模拟生产环境
2.docker原理与架构
2.1 镜像的原理
Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。
Dockerfile构建出Docker镜像,通过Docker镜像运行Docker容器。
我们可以从Docker容器的角度,来反推三者的关系。首先可以来看下图:
2.2 镜像与容器的关系
转化的依据是每个镜像的json文件,Docker可以通过解析Docker镜像的json的文件,获知应该在这个镜像之上运行什么样的进程,应该为进程配置怎么样的环境变量,此时也就实现了静态向动态的转变。
谁来执行这个转化工作?答案是Docker守护进程。也许大家早就理解这样一句话:Docker容器实质上就是一个或者多个进程,而容器的父进程就是Docker守护进程。这样的,转化工作的执行就不难理解了:Docker守护进程手握Docker镜像的json文件,为容器配置相应的环境,并真正运行Docker镜像所指定的进程,完成Docker容器的真正创建。
Docker容器运行起来之后,Docker镜像json文件就失去作用了。此时Docker镜像的绝大部分作用就是:为Docker容器提供一个文件系统的视角,供容器内部的进程访问文件资源。
再次回到上图,我们再来看看容器和镜像之间的一些特殊关系。首先,之前已经提及Docker镜像是分层管理的,管理Docker容器的时候,Docker镜像仍然是分层管理的。由于此时动态的容器中已经存在进程,进程就会对文件系统视角内的文件进行读写操作,因此,就会涉及一个问题:容器是否会篡改Docker镜像的内容?
答案自然是不会的。统一来讲,正如上图,所有的Docker镜像层对于容器来说,都是只读的,容器对于文件的写操作绝对不会作用在镜像中。
3.安装
3.1 前提条件
docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用;
若在linux6.X上安装docket,需升级内核版本至少3.8以上;
若使用docker stack模式部署,使用linux7系统;
建议使用linux版本7安装docker。
3.2 使用yum安装
3.2.2 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
若没有yum-config-manager命令,则安装:
yum -y install yum-utils
3.3.3 查看所有仓库中的docker版本
yum list docker-ce --showduplicates | sort -r
|