第二节 安装Docker环境

 

Docker值得关注的特性:

  • 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
  • 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
  • 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
  • 日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索
  • 变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建多的容器,无需使用模板或手动配置。
  • 交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上。

 

2017年2月份,Docker公司发布了全新的Docker版本:V1.13.0。从2017年3月1日开始,Docker的版本命名发生如下变化。

Docker现在有两种版本L社区版CE(Community Edition)和企业版EE(Enterprise Edition)

DockerCE有2中更新:stable和edge

stable版本每个季度更新一次

edge版本每个月更新一次

DockerEE版本是收费的,面向企业。

Capabllities

Cmmunity Edition

Enterprise Edition Basic

Enterprise Edition Standard

Enterprise Edition Advanced

Container engine and build in orchestration,networking,sercurity

✔️

✔️

✔️

✔️

Certified infrastructure,plugins and ISV containers

 

✔️

✔️

✔️

Image management

   

✔️

✔️

Container app management

   

✔️

✔️

Image security scanning

     

✔️

Docker CE和EE都支持多种平台,包括云主机,可以按照下面的来选择合适的版本。

 

Desktop

Platform

Docker CE X86_64

Docker CE ARM

Docker EE

Docker for Mac (macos)

✔️

   

Docker for Windows(Microsoft Windows 10)

✔️

   

Cloud

Platform

Docker CE X86_64

Docker CE ARM

Docker EE

Docker for Mac (macos)

✔️

 

✔️

Docker for Windows(Microsoft Windows 10)

✔️

 

✔️

Server

Platform

Docker CE X86_64

Docker CE ARM

Docker CE IBM(s390x)

Docker EE x86_64

Docker EE IBM Z(s390x)

CentOS

✔️

   

✔️

 

Debian

✔️

✔️

     

Fedora

✔️

       

Microsoft Windows Server 2016

     

✔️

 

Oracle Linux

     

✔️

 

Red Hat Enterprise Linux

     

✔️

✔️

SUSE Linux Enterprise Server

     

✔️

✔️

Ubuntu

✔️

✔️

✔️

✔️

✔️

一、安装Docker CE:

依据你的需求,安装有不同的方法:

1、大多数用户设置Docker库然后安装,对安装和升级任务轻松,这是推荐的方法。

2、有些用户下载RPM包并手动安装,并完全手动管理升级,没有互联网连接下的好方法。

3、在测试和开发环境,一些用户选择使用自动化脚本安装Docker。

 

OS要求:

1、需要一个维护版本的CentOS7,Archived Versions或者test版本不被支持

2、Centos-extras仓库需要**,默认在centos7上是**的。

3、overlay2存储驱动是被推荐使用。

 

卸载旧版本:

Docker的旧版本被称为docker-engine。如果这些以安装,请卸载他们以及关联的依赖关系。

[[email protected] ~]# yum remove docker \

> docker-client \

> docker-common \

> docker-latest \

> docker-latest-logrotate \

> docker-logrotate \

> docker-selinux \

> docker-engine-selinux \

> docker-engine

 

/var/lib/docker/的内容,包括镜像,容器,卷和网络都被保留。Docker CE包现在称为docker-ce,Docker EE包现在成为docker-ee。

 

二、使用Docker yum仓库安装。

第一次在新主机上安装Docker CE,需要先设置Docker yum仓库,然后你可以从yum仓库安装和更新Docker。

1、安装需求包。

安装所需的软件包yum-utils提供了yum-config-manager实用程序,device-mapper-persistent-data和lvm2是devicemapper(设备映射)存储驱动程序所需必须的。

[[email protected] ~]# yum install -y yum-utils \

> device-mapper-persistent-data \

> lvm2

 

2、安装stable标准库:

官方源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

国内源:

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //我们选择国内源

 

3、选项:

docker-ce.repo文件默认也包含edge和test仓库,默认是关闭的,你可以**和关闭它们。

[[email protected] ~]# yum-config-manager --enable docker-ce-edge 开启edge版仓库

[[email protected] ~]# yum-config-manager --enable docker-ce-test 开启test版仓库

[[email protected] ~]# yum-config-manager --disable docker-ce-edge 关闭edge版仓库

 

注解:edge仓库和test仓库分别是Docker不同版本的仓库。

 

三、安装docker-ce:

1、安装最新版本:

[[email protected] ~]# yum -y install docker-ce

这个命令会安装最新版本,安装完后,并不会启动docker,会创建docker组,但是组中没有任何用户。

 

2、可以使用以下命令列出可用版本,选择安装不同版本。

[[email protected] ~]# yum list docker-ce --showduplicates | sort -r

 

3、启动docker。

[[email protected] ~]# systemctl start docker

 

4、测试,检查docker是否正确安装并运行hello-world镜像。

[[email protected] ~]# docker run hello-world

 

建立docker用户组:

默认情况下,docker命令会使用Unix socket与Docker引擎通讯。而只有root用户和docker组的用户才可以访问docker引擎的Unix socket。处于安全考虑,一般Linux系统上不会直接使用root用户。因此,更好的做法是将需要使用docker的用户加入docker用户组。

 

建立docker组:

[[email protected] ~]# groupadd docker

 

将当前用户加入docker组:

[[email protected] ~]# usermod -aG docker $USER

 

镜像加速:

鉴于国内网络问题,后续拉取Docker镜像十分缓慢,强烈建议安装Docker之后配置国内镜像加速。

例如:

阿里云加速器

DaoCloud加速器:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io //DaoCloud加速器

灵雀云加速器

1、注册一个阿里的账号

2、进入加速器页面https://cr.console.aliyun.com/#/accelerator

3、复制你的加速器URL:https://g56tfe5n.mirror.aliyuncs.com(本人的)

第二节 安装Docker环境

 

对于使用systemd的系统,用systemctl enable docker启用服务后,编辑/etc/systemd/system/multi-target.wants/docker.service文件,找到ExecStart=这一行,在这行最后添加加速器地址 --registry-mirror<加速器地址>,如:

第二节 安装Docker环境

ExecStart=/usr/bin/dockerd --registry-mirror=https://g56tfe5n.mirror.aliyuncs.com

注:对于1.12以前版本的,dockerd换成docker daemon。

重新加载配置并且重新启动。

[[email protected] ~]# systemctl daemon-reload

[[email protected] ~]# systemctl restart docker

 

4、验证是否生效:

执行以下命令:

[[email protected] ~]# ps -aux | grep docker

如果从结果中看到了配置的--registry-mirror参数说明配置成功了。

第二节 安装Docker环境

 

也可以使用rpm包进行安装,需要到

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/下载软件包,然后使用命令安装即可。

 

卸载docker-ce:

1、卸载docker软件包

[[email protected] ~]# yum remove docker-ce

 

2、镜像、容器、卷和自定义的配置文件不会自动删除。

[[email protected] ~]# rm -rf /var/lib/docker //必须手动删除任意的配置文件

 

docker默认使用的是Unix socket

[[email protected] ~]# ss -ax | grep docker

第二节 安装Docker环境

 

查看docker版本

[[email protected] ~]# docker version

第二节 安装Docker环境

 

安装好的docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有容器。docker客户端扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程,大部分情况下docker服务端和客户端运行在一台机器上。

 

附:直接输入docker命令来查看所有Options和Commands,查看某一个command的详细使用方法:docker COMMAND --help