【写在前面】

公司打算要把线上服务器上面的微服务迁移到docker上运行,之前研究过1.13版本的docker,现在docker版本经历了大的变动,之前的笔记已经无法使用,所以打算把部署过程中的一些心得记录下,以便以后查阅使用。有不足之处欢迎指正,文章内容参考了网上很多博客,就不一一列举了。

【文章内容】

一、关于Docker:

Docker老版本(例如1.13),叫做docker-Engine,Docker从17.03版本开始采用基于时间的YY.MM形式的版本命名方案,分为企业版(docker-EE)和社区版(docker-CE)。

CE版又分为edge版(测试)和stable版(稳定),edge版一个月发布一次,stable版本三个月发布一次,维护期四个月;EE版本维护期1年。社区版和企业版功能相同,只是企业版则提供了一些收费的高级特性。

新版本的特点:

在裸机服务器和虚拟机上轻松安装和设置用于CentOS分发的优化Docker环境。
最新的Docker平台版本,内置业务流程(集群和调度),运行时安全性,容器网络和卷
Docker CE可以作为免费下载,每月一次的Edge或季度稳定发布与社区支持。
Docker EE订阅包括每个版本一年维护的季度发布和使用SLA的企业级支持。

Docker安装方式:

分为yum仓库安装和二进制包安装;官方推荐使用yum仓库安Docker,方便安装和升级任务;因此接下来我将以yum仓库的方式安装Docker。

二、安装前准备

系统版本:CentOS 7.3 64bit
系统内核版本: 4.4.79-1.el7
Docker版本:17.06.0.ce

Centos 7.3 默认的内核版本是3.10比较低,对docker新的性能支持不好,需要升级。可以选择升级到3.18或者4.4、4.12等稳定版,我选择升级到4.4版本。

1.查看内核方法:

# uname -r
4.4.79-1.el7.elrepo.x86_64

2.升级内核方法:
请查看之前文章:http://www.jiagoumi.com/work/1167.html

三、安装基础依赖

1、卸载老版本(如果有)

# yum remove docker docker-common container-selinux docker-selinux docker-engine

注意:执行该命令只会卸载Docker本身,而不会删除Docker内容,例如镜像、容器、卷以及网络。这些文件保存在/var/lib/docker 目录中,需要手动删除。

2、安装yum-utils ,它可以提供 yum-config-manager 来管理repository及扩展包

# yum install -y yum-utils device-mapper-persistent-data lvm2

注意: Device Mapper是Linux系统中基于内核的高级卷管理技术框架。Docker的devicemapper存储驱动就是基于该框架的精简置备和快照功能来实现镜像和容器的管理。Device Mapper是Linux的一种技术框架,而devicemapper 是 Docker Engine 基于 Device Mapper提供的一种存储驱动。

3、设置docker稳定源

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

4、启动extras额外的依赖库

# yum-config-manager --enable extras

5、启动docker.repo源

# yum-config-manager --enable docker-ce-edge

四、安装并启动docker

1、更新yum的安装索引

# yum makecache fast

2、查看yum里能够安装的docker-ce的版本

# yum list docker-ce.x86_64 --showduplicates |sort -r

20170803154018

可以看到目前最新的稳定版为17.06.0.ce-1.el7,其次为17.03.2.ce-1.el7,我们选择前者安装。

3、安装docker版本

# yum -y install docker-ce-17.06.0.ce

4、启动Docker服务,并将其设置为开机启动:

# systemctl start docker && systemctl enable docker.service

5、查看Docker安装信息

# docker version
Client:
Version: 17.06.0-ce
API version: 1.30
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:20:36 2017
OS/Arch: linux/amd64

Server:
Version: 17.06.0-ce
API version: 1.30 (minimum version 1.12)
Go version: go1.8.3
Git commit: 02c1d87
Built: Fri Jun 23 21:21:56 2017
OS/Arch: linux/amd64
Experimental: false

至此docker安装完成。

Last modification:November 7th, 2019 at 03:28 am
如果觉得我的文章对你有用,请随意赞赏