详见:[docker官网](https://docs.docker.com)linux
这里我翻译的只是我认为必须了解和掌握的知识:docker
版本:Docker v17.09ubuntu
这部分一共六个指南:windows
1. Docker说明及方向centos
2. 创建并运行你的第一个应用oracle
3. 将你的应用标准化app
4. 跨主机部署你的服务ide
5. 添加访问者计数器用于保存数据ui
6. 部署你的swarm到生产环境中idea
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
2. 设置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