CentOS7 Docker CE 安装

前言

最近想要搭建一个 Jenkins 用于持续集成,查阅了官网文档后,发现 Docker 镜像安装十分便利。一直久仰 Docker 大名,直到 2020 年才接触实在是落后了太多。

那么,就先拆解一下接下来的内容:
一、Docker CE 安装
二、安装 Docker Compose 管理 Jenkins 容器
三、配置 docker-compose.yml 管理 Jenkins 容器
四、配置 Jenkins ,实现自动化构建部署

第一篇博客内容只包括 Docker 的安装,翻译自 Docker 官网文档,想要更详细内容可点击文末链接自己参考。

卸载旧版本 Docker

旧版本的 Docker 被称为 DockerDocker-engine。如果已经安装,需卸载它们以及相关的依赖项。

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

如果 yum 报告说没有安装这些软件包,那也没关系。

使用存储库安装 Docker CE

如果是第一次在新主机上安装 docker-ce,需要设置 docker 的存储库。设置成功后,可以从存储库中安装和更新 Docker。

设置存储库

  1. 安装所需的软件包。yum-utils 提供 yum-config-manager 程序,devicemapper 存储驱动程序需要 device-mapper-persistent-datalvm2

    $ sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
  2. 设置稳定存储库。即使你想要从边缘或测试存储库安装构建,也需要稳定的存储库。

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

安装 Docker CE

  1. 安装最新版本的 Docker CE,或者进入下一步安装指定版本。

    $ sudo yum install docker-ce

    如果你是最近新添加的存储库,并且这是第一次从存储库安装包,系统会显示密钥的指纹,并提示你接受 GPG 密钥。验证指纹是否与下述相符合,如果一致,选择接受钥匙。

    060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
  2. 如果你想要安装特定版本追求稳定,而不是最新版本。可以使用下列命令列出可用的版本。该命令 sort-r 会按照版本号(从最高版本号到最低版本号)对结果进行排序。

    $ yum list docker-ce --showduplicates | sort -r
    
    docker-ce.x86_64            17.12.ce-1.el7.centos             docker-ce-stable

    列表的内容会根据你的 CentOS 版本以及存储库改变。第二列是版本号,第三列是存储库名称。想要安装指定版本,需要把软件包名和版本号拼在一起,用 - 隔开,例如下列指令中的 <FULLY-QUALIFIED-PACKAGE-NAME>,完整的包名应该为 docker-ce-17.06.1.ce

    $ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
  3. 启动 Docker

    $ sudo systemctl start docker
  4. 运行 hello-world 镜像,查看是否安装成功

    $ sudo docker run hello-world

    此命令会下载并在容器中运行 hello-world 镜像。该镜像会打印一条信息消息并退出容器。

卸载 Docker CE

  1. 卸载 Docker 包

    $ sudo yum remove docker-ce
  2. 删除所有的镜像、容器以及数据卷

    $ sudo rm -rf /var/lib/docker
  3. 手动删除自定义配置文件

参考文献

Get Docker CE for CentOS - Docker 官网文档

Image placeholder
zhangdingfang
未设置
  87人点赞

没有讨论,发表一下自己的看法吧

推荐文章
三丰云CentOS7.3服务器上安装Docker

下面分享一下如何在自己购买的三丰云服务器(CentOS7.3版本)上安装Docker大神可直接看如下命令进行安装,菜鸟可按后面给出的傻瓜式安装步骤进行操作:更新Yum包:yumupdate安装所需的包

自己撸一个 LaraDock(使用 Docker LNMP 部署 PHP 开发环境)

项目简介 DockerLNMP是基于docker-compose开发的运行在Docker上的LNMP开发环境,包含PHP、MySQL、Redis等镜像并支持多版本切换,满足您的学习、开发和测试需求。

使用kubei一步部署k8s高可用集群(包含docker安装、k8s组件安装、master初始化和加入nodes节点)

kubei(kubernetesinstaller)是一个go开发的用来部署kubernetes高可用集群的命令行工具,该工具可在Windows、Linux、Mac中运行kubei原理:通过ssh连接

ORACLE11.2.0.4 RAC+ ASM安装方法 (操作系统CENTOS7.6)

前言网上的各种文章,尝试过后,发现有很多错漏的地方,还有很多细节没有写,或者是遇到各种报错如何处理,都没写,这里是我自己整理的安装步骤和解决报错的方法,因为有部分是从自己以前的笔记里截取的截图之类的,

Docker Compose 安装 Jenkins

前言上回我们已经安装好了Docker,这篇我们利用Compose,通过配置docker-compose.yml安装jenkins。之所以使用Compose,是因为后续如果有更多容器,能够更为方便直观的

CentOS7 下使用 rsync+sersync 配置文件自动同步

为什么需要文件自动同步功能? 我们平时上传代码,可以通过ftp、sftp等将文件上传至服务器,耗时耗力,而且很容易出错。如果服务器数量少还好,一但服务器数量增加,压力可想而知。 这个时候我们可以使用各

docker 安装 Laravel 环境 (nginx mariadb PHP7.3)

1,安装mariadb创建网路dockernetworkcreate--subnet=172.18.0.0/16mynetworkdockerrun-d-p3306:3306-eMYSQL_ROOT_

docker-compose 搭建 dnmp 总结

说明从零开始写一份dnmp环境的docker-compose.yml(由于redis比较常用,也包括进来)。总体设计示意图: 网络分配上,让要直接通讯的容器同属于一个网络,不直接通讯的容器属于不同的网

使用 Docker 创建 Hyperf 项目

@[TOC]安装Hyperf开发容器dockerrun-d--nameuser_center\ --restart=always\ #映射到宿主机目录,这样我们就直接在/home/wwwroot/us

用docker拓展压测工具artillery的能力

指定域名的IP地址最近在用artillery做压测时遇到一个问题。我需要压测某一个通过域名访问的服务,而这个域名背后的机器地址需要随着压测用例变化的。通常这就是DNS要做的事情-把不变的域名和变化的地

Docker 麻烦大了

Docker是容器技术的典范,但其近况似乎不佳。 在早前泄露的一份备忘录中,DockerCEO罗博·比尔登(RobBearden)赞扬了公司的员工,但话术却非常地耐人寻味: 尽管“不确定性带来了巨大

15 个 Docker 初学者必须掌握的命令

这篇文章我基本上不会做put操作。如果你认为这些命令缺少了什么其他方面重要的东西,那么你需要自行检查Docker文档(https://docs.docker.com/) pull pull命令和gi

使用 Docker 创建 Lumen 项目

lumen6需要PHP>=7.2,我们仍然使用docker进行开发,我制作了一个基于PHP7.3的镜像,直接拉来用就可以了dockerrun-d--namephp-apache-dev\ --rest

Docker容器实现原理及容器隔离性踩坑介绍

本文讲述了 关于容器隔离性的一个“坑”正如Docker官方的口号:“Buildonce,Runanywhere,Configureonce,Runanything”,Docker被贴上了如下标签:轻巧

万字长文:聊聊几种主流Docker网络的实现原理

一、容器网络简介容器网络主要解决两大核心问题:一是容器的IP地址分配,二是容器之间的相互通信。本文重在研究第二个问题并且主要研究容器的跨主机通信问题。实现容器跨主机通信的最简单方式就是直接使用host

使用 Docker 部署 Spring Boot 项目

Docker技术发展为微服务落地提供了更加便利的环境,使用Docker部署SpringBoot其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的SpringBoot项目,然后给项目添加Doc

Docker最佳实践:5个方法精简镜像

本文记录了精简Docker镜像尺寸的必要性及好处精简Docker镜像的好处很多,不仅可以节省存储空间和带宽,还能减少安全隐患。优化镜像大小的手段多种多样,因服务所使用的基础开发语言不同而有差异。本文将

打造高逼格、可视化的Docker容器监控系统平台

关于Docker技术的文章之前也断断续续写了几篇:Docker容器系列文章|Docker技术入门(一)Docker容器系列文章|Docker技术入门(二)Docker容器系列文章|这20个Docker

使用 Laradock 安装 laravel 项目

1、安装docker2、安装Laradock 安装laradockgitsubmoduleaddhttps://github.com/Laradock/l... cd进入laradock项目路径 c

Java并发编程,深入理解ReentrantLock

ReentrantLock简介ReentrantLock重入锁, 是实现Lock接口的一个类 ,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次

基于 Hyperf 实现 RabbitMQ + WebSocket 消息推送

#介绍 基于Hyperf+WebSocket+RabbitMQ实现的一个简单大屏幕的消息推送。 #思路 利用WebSocket协议让客户端和服务器端保持有状态的长链接,保存链接上来的客户端id。订阅发

微信支付退款解析 对加密串 B 做 AES-256-ECB 解密(PKCS7Padding)

微信支付退款解析对加密串B做AES-256-ECB解密(PKCS7Padding)1.微信支付文档 https://pay.weixin.qq.com/wiki/doc/api/H5....解密方式解

GoWeb教程_08.1. Socket 编程

在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和W

GoWeb教程_08.2. WebSocket

WebSocket是HTML5的重要特性,它实现了基于浏览器的远程socket,它使浏览器和服务器可以进行全双工通信,许多浏览器(Firefox、GoogleChrome和Safari)都已对此做了支

老司机带你用 PHP 实现 Websocket 协议

我为什么会写这篇文章? 当初作为编程小白的我,刚刚从事后台工作,觉得http是个很牛逼的东西,然而后面随着自己深入学习并实践之后,觉得原来和我所想的天壤之别,没大家想象的那么复杂,仅仅是个协议嘛!。后

{