这里我翻译的只是我认为必须了解和掌握的知识:
版本:Docker v17.09
这部分一共六个指南:
1. Docker说明及方向
2. 建立并运行你的第一个应用
3. 将你的应用标准化
4. 跨主机部署你的服务
5. 添加访问者计数器用于保存数据
6. 部署你的swarm到生产环境中
Docker的价值在于:如何build、ship、run 应用,它不关心应用具体做了什么东西。
在了解Docker和为什么用Docker之前你需要了解的概念如下:
* IP Addresses and Ports
* Virtual Machines
* Editing configuration files
* Basic familiarity with the ideas of code dependencies and building
* Machine resource usage terms, like CPU percentages, RAM use in bytes, etc.
image: 它是轻量的、隔离的、可执行的包,它里面有软件运行所需要的所有的东西,比如:代码、运行、库文件、环境变量和配置文件。
container: 它实际就是image的一个运行的实例,它就是在内存中的镜像。它的运行默认是完全隔离宿主机的环境,当然如果给它权限访
问宿主机的文件和端口也是可以实现的。
容器与宿主机的关系:容器在宿主机的内核上运行应用,也就是比虚拟机更好(因为虚拟机是仅能通过hypervisor来访问宿主机的资源,
container能直接访问,他在宿主机中是一个进程,相对于其他可执行程序来说,它不会占用过多的内存
下图是容器和虚拟机对比
虚拟机运行本身的操作系统,与宿主机的系统完全隔离。容器能共享一个宿主机的kernel,容器更像源进程,你能在宿主机上控制这些进程,通过docker ps命令查看这些。同时它包含应用所需要的所有依赖,无配置冲突,所以它能运行在所有任何地方。
Docker版本:CE(社区版)和EE(企业版)
又分为:stable和edge版(稳定版和开发版)
CE社区版:适用于初学者及中小型团队
EE企业版:收费的。视情况而定
下图是企业版及社区版的区别
Capabilities | CE | EE-Basic | EE-Standard | EE-Advanced |
Container engine and built in orchestration, networking, security | 支持 | 支持 | 支持 | 支持 |
Certified infrastructure, plugins and ISV containers | 支持 | 支持 | 支持 | |
Image management | 支持 | 支持 | ||
Container app management | 支持 | 支持 | ||
Image security scanning | 支持 |
Docker CE和EE可以安装在复杂的平台:云和on-premises。
桌面版的:
platform | Docker CE X86-64 | Docker CE ARM | Docker EE |
支持 | |||
支持 |
云端:
platform | Docker CE X86-64 | Docker CE ARM | Docker EE |
支持 | 支持 | ||
支持 | 支持 |
系统:
platform | Docker CE X86-64 | Docker CE ARM | Docker CE IBM Power (ppc64le) | Docker CE IBM Z (s390x) | Docker EE x86_64 | Docker EE IBM Power (ppc64le) | Docker EE IBM Z (s390x) |
支持 | 支持 | ||||||
支持 | 支持 | ||||||
支持 | |||||||
支持 | |||||||
支持 | |||||||
支持 | 支持 | 支持 | |||||
SUSE Linux Enterprise Server | 支持 | 支持 | 支持 | ||||
支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
关于stable更新从Docker 17.03开始每两个月更新一次,而开发版每个月更新一次。
关于你使用哪个平台的Docker可以点击上述的表中的相应版本,就可以跳转到Docker官网相应的版本中。
这里我只介绍CentOS平台的CE版本,关于EE的安装请参考官网。
操作系统的要求:安装CE版本,需要centOS7.X的稳定版本。
同时打开系统的其他源(centos-extras设置为enable)。默认是开启的。如果你关闭了请开启
使用过程中推荐使用overlay2的存储引擎。
首先卸载已经安装的旧版本docker及docker-engine。如果之前安装了,请卸载它及它的相关依赖。
yum remove docker \
docker-common \
docker-selinux \
docker-engine
1. 设置Docker的仓库,这里使用的是官方的仓库(官方推荐方法,可以手动的管理更新,当然如果有公司自己开发的Docker版本,可以设置自己的源仓库。)
#安装依赖包:yum-utils提供了yum-config-manager设施,devicemapper存储引擎需要device-mapper-persistent-data和lvm2包。
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置stable仓库
yum-config-manager \
--add-repo https://download.docker.com/linux/centos/docker-ce.repo
#关于使用edge的,这里可以使用yum-config-manager --enable 开启。
2. 安装最新版。
yum install docker-ce
可以使用下面命令安装特定版本
先查有哪些版本
yum list docker-ce --showduplicates | sort -r
安装指定版本(比如安装docker V17.06.1
)
yum install docker-ce-17.06.1.ce
3. 启动
systemctl start docker
4. 加入开机自启动
systemctl enable docker
5. 验证是否成功
docker run hello-world
下载rpm包。手动安装。对于更新有点不方便。
下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
执行rpm -ivh 包名.rpm或yum 包名.rpm
卸载:yum remove docker-ce 和rm -fr /var/lib/docker
原文地址:http://blog.51cto.com/laodou/2052868