参考:

系统要求

(以CentOS为例)安装Docker Engine,需要maintain version的CentOS 7 或者 8,Archived version无法支持。

centos-extras仓库必须启用,默认情况下这个仓库是启用的,如果之前禁用了的话,需要重新启用它。

overlay2存储驱动也是必要的。

卸载旧版本

旧版本的Docker叫做docker或者docker-engine。如果这些先前被安装了,先卸载他们,以及相关的依赖包。

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

/var/lib/docker目录中,保留了镜像、容器、卷和网络的一些相关文件。Docker Engine软件包现在叫做docker-ce

安装Docker

可以通过不同的方式安装Docker,取决于个人需求:

  • 大多数用户会通过设置Docker仓库的方式,便于安装与升级,这是一种推荐的方式。

  • 还有的用户会下载RPM包然后手动的安装与升级,适用于一些场景,比如说在一些没有联网的环境中安装Docker。

  • 在测试或者开发环境中,有的用户还会选择使用自动化脚本来进行安装。

方法一:通过repo安装

在安装Docker engine在一台新机器之前,需要设置Docker repository。然后才能够通过repo来进行安装和升级。

设置Repository

安装yum-utils包(提供yum-config-manager命令),然后设置稳定的仓库。

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
[root@localhost /]# yum repolist
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
docker-ce-stable Docker CE Stable - x86_64
extras CentOS Linux 8 - Extras

安装Docker Engine

  1. 安装最新版本的Docker Engine和containerd,或者到下一步去安装特殊的版本。

    sudo yum install docker-ce docker-ce-cli containerd.io
  2. 安装特殊版本的Docker Engine,先查看仓库列表中的可用版本,然后选择安装。

    [root@localhost /]# yum list docker-ce --showduplicates | sort -r
    docker-ce.x86_64 3:20.10.9-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.8-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.7-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.6-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.5-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.4-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.3-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.2-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.1-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.11-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.10-3.el8 docker-ce-stable
    docker-ce.x86_64 3:20.10.0-3.el8 docker-ce-stable
    docker-ce.x86_64 3:19.03.15-3.el8 docker-ce-stable
    docker-ce.x86_64 3:19.03.14-3.el8 docker-ce-stable
    docker-ce.x86_64 3:19.03.13-3.el8 docker-ce-stable
    Docker CE Stable - x86_64 73 kB/s | 19 kB 00:00
    Available Packages
    sudo yum install docker-ce-<version_string> docker-ce-cli-<version_string> containerd.io

​ 补充:如果这里报错,可以添加--allowerasing参数来移除一些冲突的包,如下:

  1. 启动Docker(开机启动)

    systemctl enable --now docker
  2. 通过hello-world镜像,检验是否成功安装Docker。

    sudo docker run hello-world

升级Docker Engine

去看官网的安装指导,选择新版本安装。Install Docker Engine on CentOS | Docker Documentation

方法二:通过package安装

如果没办法通过Docker's repository安装Docker,你可以通过下载你需要的版本的.rpm包来手动安装Docker,在你需要更新的时候再下载新的包来更新。

  1. Index of linux/centos/ (docker.com)选择CentOS对应版本的仓库。然后查看x86_64/stable/Packages目录,下载相应的.rpm包来安装。

  2. 安装docker

    sudo yum install /path/to/package.rpm
  3. 启动Docker

    sudo systemctl enable --now docker
  4. 检查是否安装成功

    sudo docker run hello-world

方法三:通过脚本安装

Docker官方提供了一个脚本在https://get.docker.com,可以通过它去安装Docker环境无需交互。这个脚本不推荐在生产环境中使用,不过可以作为一个例子用于参考以量身定制属于自己的脚本。

curl -fsSL https://get.docker.com -o get-docker.sh
DRY_RUN=1 sh ./get-docker.sh

卸载Docker

  1. 卸载Docker Engine

    sudo yum remove docker-ce docker-ce-cli containerd.io
  2. 镜像、容器、卷还有自定义配置的相关文件还在主机上,没有被自动清除,需要手动删除,执行如下命令可手动删除:

    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd

hello-world镜像

hello-world镜像是官方提供用来测试docker环境是否搭建完成用的。

[root@localhost /]# sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest Hello from Docker!
This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal. To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/ For more examples and ideas, visit:
https://docs.docker.com/get-started/

</version_string></version_string>

[云原生]Docker - 安装&卸载的更多相关文章

  1. docker安装,卸载和入门

    Docker 简介 背景 开发和运维之间因为环境不同而导致的矛盾 集群环境下每台机器部署相同的应用 DevOps(Development and Operations) 简介 Docker是一个开源的 ...

  2. docker安装-卸载

    docker官网正确安装-卸载 一.查看系统内核 uname -r 3.10.0-229.el7.x86_64 二.Install Docker 1.Install with yum sudo yum ...

  3. Docker 安装&卸载

    不同版本可能有差异具体信息查看官网 官网:https://docs.docker.com/engine/install/centos/ #环境准备 #查看环境 uname -r # 系统内核在3.10 ...

  4. [云原生]Docker - 简介

    目录 什么是Docker? 为什么使用Docker? 对比传统虚拟机总结 什么是Docker? Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业务项目.它基于Go ...

  5. [云原生]Docker - 镜像

    目录 Docker镜像 获取镜像 列出本地镜像 创建镜像 方法一:修改已有镜像 方法二:通过Dockerfile构建镜像 方法三:从本地文件系统导入 上传镜像 保存和载入镜像 移除本地镜像 镜像的实现 ...

  6. [云原生]Docker - 容器

    目录 Docker容器 启动容器 新建并启动 启动已终止容器 守护态运行容器 终止容器 进入容器 attach命令 exec命令 导出和导入容器 导出容器 导入容器 删除容器 Docker容器 容器是 ...

  7. 【环境安装】Docker安装

    [环境安装]Docker安装 CentoOS-7 安装步骤: 1.卸载已经安装的Docker sudo yum remove docker \ docker-client \ docker-clien ...

  8. Docker Data Center系列(一)- 快速搭建云原生架构的实践环境

    本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...

  9. Docker入门(二):安装/卸载

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

随机推荐

  1. 它说你的代码有 Bug「GitHub 热点速览 v.21.44」

    作者:HelloGitHub-小鱼干 本周热点上的榜单大多数提升工作效率的实用工具,像是一个 API 管理所有通知消息(包括推送.邮件-)的 notifire,再是高速解析 JSON 文件的 simd ...

  2. cf12E Start of the season(构造,,,)

    题意: 给一个偶数N. 构造出一个矩阵. 满足:主对角线上全为0.每一行是0~N-1的一个全排列.矩阵关于主对角线对称. 思路: 觉得是智商题,,,,看完题解后觉得不难,但是我就是没想出来.只想到了前 ...

  3. 源码安装的应用 rpm 命令无法查询

    源码安装:一大堆源码文件,需要编译后才能使用(编译需要安装编译器 :yum install gcc) rpm 安装:redhat 官网或其它开源网站编译好发布,已经编译好的安装包,使用 rpm -iv ...

  4. loto仪器_如何模拟输出凸轮轴和曲轴波形_用任意波形信号源SIG852?

    loto仪器_如何模拟输出凸轮轴和曲轴波形_用任意波形信号源SIG852? 在汽车传感器的波形检测应用中,有时候需要模拟各种汽车传感器的输出信号,用来驱动和监测对应的执行机构或者电路是否正常,这其中, ...

  5. (转)刚来的大神彻底干掉了代码中的if else...

    一旦代码中 if-else 过多,就会大大的影响其可读性和可维护性. 首先可读性,不言而喻,过多的 if-else 代码和嵌套,会使阅读代码的人很难理解到底是什么意思.尤其是那些没有注释的代码. 其次 ...

  6. vue2-admin-mpa vue2多页面应用系统【开源项目】

    1. 项目介绍 一个基于Vue2.0的多页面应用系统. 技术栈包含:Vue.VueX.Vue Router.Element UI. 2. 功能介绍 2.1 多页面切换功能 说明:采用 tabs  +  ...

  7. 编译原理中Follow集的求法

    经过前阵子的各种百度以及对课本的反复研究,终于弄明白了follow集的求法,下面记录一下! 首先引用龙书里面的一段较为公式化的follow集求法的话: 计算所有非终结符号A的follow(A)集合时, ...

  8. vue脚手架项目如何在控制台打印组件实例

    需要在浏览器上安装拓展程序vue开发工具,安装好后在控制台上输入$vm即可打印vue组件实例对象. Vue2.3开发工具都有,可自行下载 百度网盘链接提取码:si5l

  9. kafka数据清理

    Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩. 数据清理的方式 删除 log.cleanup.policy=delete启用删除策略直接删除,删除后的 ...

  10. 华为9.8笔试题C++

    问题 给出一颗二叉树,每个节点有一个编号和一个值,该值可能为负数,请你找出一个最优节点(除根节点外),使得在该节点将树分成两棵树后(原来的树移除这个节点及其子节点,新的树以该节点为根节点),分成的两棵 ...