概述:

  这个安装手册我已经使用了将近2年的时间,一直在进行完善(可以用于生产级别)。使用了Centos 7系统。

一、Docker简单介绍

  Docker是一个容器,使用的是Linux现有的技术,准确来说是基于Linux内核虚拟化技术发展而来,例如:网络模型之一网桥。底层核心技术是Namespace和cgroups。

  Docker版本有企业版(收费)和社区版,我们一般使用的是社区版。社区版有三个发布版本,下面是对于三个发布版本的描述:

二、Docker的卸载和升级

注:如需要安装企业版的,请参考:https://docs.docker.com/install/linux/docker-ee/centos/

2.1 卸载已安装的docker(如未安装,可跳过)

##. 列出安装过的包
# yum list installed | grep docker
##. 根据安装过的包进行卸载
# yum -y remove docker-ce-cli.x86_64
# yum -y remove docker-ce.x86_64
# yum -y remove containerd.io

2.2 更新docker(更新至最新版本)

# yum -y update docker

三、Docker的安装

3.1 配置docker源(如已安装过docker,则不需要进行此步骤,该步骤和第3步可以任意选择一个执行)

## 如果没有安装wget,可以使用下面的命令进行安装
# yum install -y wget # wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

3.2 安装 docker 环境

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

3.3 设置从stable仓库获取docker

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

3.4 安装docker(注:不建议使用这一条命令,建议使用下一条命令,因为这会获取最新版本的docker)

# curl -fsSL https://get.docker.com/ | sh

3.5 安装docker

# yum install -y docker-ce docker-ce-cli containerd.io

## 说明:
## 获取哪些版本的docker可以使用
## yum list docker-ce --showduplicates | sort -r
## 获取指定版本的docker
## yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
## 例如:yum install docker-ce-18.09. docker-ce-cli-18.09. containerd.io -y

3.6 启动Docker和设为开机启动配置镜像加速

# systemctl start docker && systemctl enable docker

3.7 配置镜像加速

默认docker从DockerHUB上拉取镜像,由于国内网络原因下载镜像速度会变慢,所以可以配置国内镜像加速地址https://registry.docker-cn.com,当有多个镜像加速地址时候可在列表中以逗号分割。

执行以下命令:

# mkdir -p /etc/docker
## 配置阿里云加速器(这里使用的是我自己的,也可以自行在阿里云申请)
# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://usydjf4t.mirror.aliyuncs.com", "https://registry.docker-cn.com"]
}
EOF ## 重新启动守护进程
# systemctl daemon-reload
## 重启docker
# systemctl restart docker

3.8 测试功能

## 查看docker版本
# docker version ## 下载hello-world镜像
# docker run hello-world

查看docker状态

# service docker status

附录

参考资料:

1. 官网安装文档
  https://docs.docker.com/install/linux/docker-ce/centos/
  https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/

2. Virtualbox Centos 7 安装
 https://www.ostechnix.com/install-docker-centos/

3. 配置阿里云加速器

https://blog.csdn.net/xlemonok/article/details/71403534

史上最详细的Docker安装手册的更多相关文章

  1. 【转】史上最详细的Composer安装tp5教程

    http://www.thinkphp.cn/topic/52362.html Composer安装tp5教程1.下载composer先介绍几个网站Composer官网https://getcompo ...

  2. 史上最详细的CocoaPods安装教程

    虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用. 前言 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正 ...

  3. 史上最详细SharePoint 2013安装步骤图解新手教程

    来源:// http://www.itexamprep.com/cn/microsoft/soft/sharepoint2013/2013/0408/2866.html 文章就是SharePoint2 ...

  4. 黄聪:史上最详细的kali安装教程没有之一

    首先在vm里面新建虚拟机,直接选择典型,然后下一步.   1   2 然后到了这一步,选择中间的安装程序光盘镜像文件,然后去文件里面找你自己下载的镜像,这时候可能系统会出现无法检测此光盘镜像中的操作系 ...

  5. 史上最详细的codeblocks安装教程!!!

    codeblocks下载地址:https://www.cnblogs.com/yinbiao/p/8489748.html 下面是codeblocks具体的安装教程:

  6. 史上最详细的VMware 安装CentOS 7

    1.点击"创建新的虚拟机": ![file](https://img2018.cnblogs.com/blog/209997/202001/209997-2020011723572 ...

  7. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  8. 史上最详细的Android Studio系列教程一--下载和安装

    链接地址:http://segmentfault.com/a/1190000002401964#articleHeader4 原文链接:http://stormzhang.com/devtools/2 ...

  9. 史上最详细mac安装Qt教程

    史上最详细mac安装Qt教程,小白看过来! 这是一篇非常适合Qt入门小白的的安装Qt教程,因为这学期我们小组的一个关于高速救援的项目要用到Qt与web进行交互式展现相关的图像,由于没有MSVC这个插件 ...

随机推荐

  1. python settings 中通过字符串导入模块

    1. 项目文件结构 set_test ├─ main.py # 入口函数 │ ├─notify # 自定义的模块 │ ├─ email.py # 自定义模块 │ ├─ msg.py # 自定义模块 │ ...

  2. python中excel数据分组处理

    1.场景描述 因文本相似性热度统计(python版)需求中要根据故障类型进行分组统计,需要对excel进行分组后再分词统计,简单记录下,有需要的朋友可以直接拿走,不客气! 2.解决方案 采用panda ...

  3. 系统级编程(csapp)

    系统级编程漫游 系统级编程提供学生从用户级.程序员的视角认识处理器.网络和操作系统,通过对汇编器和汇编代码.程序性能评测和优化.内存组织层次.网络协议和操作以及并行编程的学习,理解底层计算机系统对应用 ...

  4. Immer.js简析

    开始 在函数式编程中,Immutable这个特性是相当重要的,但是在Javascript中很明显是没办法从语言层面提供支持,但是还有其他库(例如:Immutable.js)可以提供给开发者用上这样的特 ...

  5. 如何将zTree选中节点传递给后台

    获取zTree选中节点 <body> <script type="text/javascript"> var setting = { view: { dbl ...

  6. CyclicBarrier源码探究 (JDK 1.8)

    CyclicBarrier也叫回环栅栏,能够实现让一组线程运行到栅栏处并阻塞,等到所有线程都到达栅栏时再一起执行的功能."回环"意味着CyclicBarrier可以多次重复使用,相 ...

  7. [C++入门篇]了解C++

    前言 我是杨某人,点击右下方"+"一键关注我.如果你喜欢我的文章,那么拒绝白嫖行为.然后..请多来做客鸭. 如果你是已经入门的大佬,请滑到下方点个推荐再走. 我个人认为,博客有两种 ...

  8. 脚本写一行echo也能写出bug ? glob了解一下

    背景 最近处理一个 bug 很有意思,有客户反馈某个配置文件解析失败了,出错的那行的内容就只有一个字母 a. 最开始以为是谁改动了处理的脚本,但要到了问题代码中的脚本,比较发现跟库上是一样的. 又经过 ...

  9. Django Queryset增加manager

    **#定义一个新的过滤规则,这里是过滤状态为发布的帖子** **class PublishedManager(models.Manager):**        **def get_queryset( ...

  10. C++ 重载关系操作符

    #include <iostream> using namespace std; class AAA { public: AAA() //默认构造 { } AAA(int id, stri ...