CentOS安装 Docker 和 docker-compose(V1和V2两个版本)

2023-09-15 18:21:27

一、安装 Docker

1、更新docker的yum源为阿里云仓库

如果没有安装wget 执行yum install wget -y安装

sudo wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

2、安装必要的一些系统工具

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

3、查看docker-ce版本

sudo yum list docker-ce --showduplicates | sort -r

4、安装指定版本的docker

我这里选择安装 docker-ce-20.10.16 版本,现在最新版本已经到 docker-ce-24.0.6 版本了
PS:注意如果 docker-ce-cli-20.10.16-3.el7 不加cli指定版本的话它会默认下载最新版本

sudo yum -y install docker-ce-20.10.16-3.el7 docker-ce-cli-20.10.16-3.el7 

5、切换Dockek镜像下载源(这里使用阿里云镜像)

registry-mirrors 中的镜像加速地址请自行替换成自己 阿里云镜像加速 地址

## 创建/etc/docker
sudo mkdir -p /etc/docker

## 配置镜像加速地址 registry-mirrors填写自己在阿里云获取的加速地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ql1t6na7.mirror.aliyuncs.com"]
}
EOF

## 重新加载配置文件
sudo systemctl daemon-reload

6、启动测试docker

启动docker,并且将docker设置成开机自启

# 启动       
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker

测试查看docker版本

docker --version

7、Docker启动关闭操作

# 启动       
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker
#重启docker服务  
sudo systemctl restart docker 
#关闭docker 按照顺序两个命令都需要执行
sudo systemctl stop docker
sudo systemctl stop docker.socket
# 关闭Docker开机自启
sudo systemctl disable docker

8、卸载/更新已经安装的Docker

  • 卸载docker
# 先停止docker
sudo systemctl stop docker
sudo systemctl stop docker.socket

# 列出安装过的包
sudo yum list installed | grep docker

# 根据安装过的包进行卸载
sudo yum -y remove docker-buildx-plugin.x86_64
sudo yum -y remove docker-ce.x86_64
sudo yum -y remove docker-ce-cli.x86_64
sudo yum -y remove docker-ce-rootless-extras.x86_64
sudo yum -y remove docker-compose-plugin.x86_64
sudo yum -y remove containerd.io.x86_64
  • 更新docker
sudo yum -y update docker

二、安装 docker-compose

在高版本的docker中会自带 docker-compose V2版本,安装 docker-compose 自己在本机执行一下docker compose version是否已经安装,如果已经安装就别重复安装。

1、安装指定版本 docker-compose

推荐使用V2版本,现在docker高版本自带的都是V2版本并且2023年7月起V1版本已经停止维护了,V1和V2版本使用上有些区别可以查看 docker官网compose V2版本介绍

## 下载V1版本docker-compose 这个包差不多12.1MB
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

## 下载V2版本docker-compose 这个包差不多57.6MB
mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/libexec/docker/cli-plugins/docker-compose

PS:https://get.daocloud.io 这个地址下载可能会失败出现 503 错误,我当天部署时就出现了问题,如果这个地址下载不了可以将下载地址改为 https://github.com,如果 https://github.com 也访问不了,那就自行下载 docker-compose 包,V1版本放入 /usr/local/bin 目录 V2版本放入 /usr/local/lib/docker/cli-plugins 目录也可以,文件名称必须为 docker-compose,我这里提供两个百度网盘的地址需要自提。

2、添加 docker-compose 可执行权限

## V1版本执行
sudo chmod +x /usr/local/bin/docker-compose

## V2版本执行
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

3、验证是否安装成功

## V1版本查看版本信息
docker-compose -version

## V2版本查看版本信息
docker compose version

4、卸载 docker-compose

高版本的docker中自带的 docker-compose 是无法删除的,只能删除自己安装的 docker-compose

## V1版本卸载
sudo rm /usr/local/bin/docker-compose

## V2版本卸载
sudo rm /usr/local/lib/docker/cli-plugins/docker-compose
更多推荐

MT6785(Helio G95)安卓核心板_联发科4G高能低耗安卓主板开发板

MTK6785(HelioG95)安卓核心板采用八核CPU具有两个强大的ArmCortex-A76处理器内核,主频高达2.05GHz,外加六个Cortex-A55高效处理器。其强大的图形性能由ArmMali-G76MC4提供,速度可提升至900MHz。高达10GB的2133MHz的LPDDR4X提供了充足的带宽,同时支

HarmonyOS开发:那些开发中常见的问题汇总(一)

前言本来这篇文章需要讲述静态共享包如何实现远程依赖和上传以及关于静态共享包私服的搭建,非常遗憾的告诉大家,由于组织管理申请迟迟未通过,和部分文档官方权限暂未开放,关于这方面的讲解需要延后了,大概需要等到2024年第一季度,也就是来年,毕竟关于HarmonyOS的升级,舍弃AOSP,也是在2024年第一季度才会面向所有开

【HarmonyOS】元服务卡片router实现跳转到指定页面

【关键字】元服务卡片、router跳转不同页面【写在前面】本篇文章主要介绍开发元服务卡片时,如何实现从卡片中点击事件跳转到指定的应用内页面功能。此处以JSUI开发服务卡片为例,JS卡片支持组件设置action,包括router事件和message事件,其中router事件用于应用跳转,message事件用于卡片开发人员

【鸿蒙(HarmonyOS)】UI开发的两种范式:ArkTS、JS(以登录界面开发为例进行对比)

文章目录一、引言1、开发环境2、整体架构图二、认识ArkUI1、基本概念2、开发范式(附:案例)(1)ArkTS(2)JS三、附件一、引言1、开发环境之后关于HarmonyOS技术的分享,将会持续使用到以下版本HarmonyOS:3.1/4.0SDK:API9ReleaseNode.js:v14.20.1DevEcoS

Zookeeper应用场景和底层设计

一、什么是zookeeperZookeeper是一个开源的分布式协调服务框架,它是服务于其它集群式框架的框架。【简言之】有一个服务A,以集群的方式提供服务。只需要A专注于它提供的服务就可以,至于它如何以多台服务器协同完成任务的事情,交给Zookeeper来协调。【底层设计逻辑】1)基于观察者设计模式2)等价于文件系统+

开源项目的版本管理:Git的最佳实践

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

【Rust 基础篇】Rust 模式:高效、安全和灵活的匹配工具

导言在编程中,经常需要对数据进行匹配和处理,例如从一个复杂的数据结构中提取特定的值,或者根据不同的情况执行不同的逻辑。Rust是一门现代的系统编程语言,它引入了一种称为"模式"(Pattern)的强大特性,使得数据的匹配和处理变得高效、安全和灵活。本篇博客将深入探讨Rust模式的各种用法,带您领略Rust的魅力。什么是

ES6如何声明一个类?类如何继承?

在JavaScript中,您可以使用关键字class来声明一个类。类是一种模板,用于创建对象的构造函数,其中包含了属性和方法。以下是声明一个类的基本语法:classClassName{constructor(){//构造函数,用于创建对象实例时初始化属性this.propertyName=value;}//方法定义me

stm32学习-芯片系列/选型

【03】STM32·HAL库开发-初识STM32|STM概念、芯片分类、命名规则、选型|STM32原理图设计、看数据手册、最小系统的组成、STM32IO分配_小浪宝宝的博客-CSDN博客STM32:ST是意法半导体,M是MCU/MPU,32是32位。ST累计推出了:5大类、18个系列、1000多个型号的Cortex内核

注入之mssql数据库(手工注入)

sa最高权限(可以获取系统权限)打开一个mssql数据库要拼接一个参数拼接这个参数?xxser=1检查是否是mssql数据库andexists(select*from%20sysobjects)为真是属于mssql查询当前数据库系统的用户名andsystem_user=0(由于版本问题谷歌不可以)可以去虚拟机,爆出系统

基于讯飞人脸算法(调用API进行人脸比对)

先看结果必须遥遥领先基于讯飞人脸算法视频演示所需准备这里我调用了:人脸比对API文档|讯飞开放平台文档中心https://www.xfyun.cn/doc/face/xffaceComparisonRecg/API.html#%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E代码里所涉及的APPI

热文推荐