Ubuntu环境安装指定版本的docker 和一键卸载dockerdocker-compose

news2024/9/28 23:24:56

在这里插入图片描述

一、环境

我的linux系统是Ubuntu 22.04

二、开始安装

卸载旧版
由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

$ sudo apt-get remove docker docker-engine docker-ce docker.io

更新apt包索引

$ sudo apt-get update

安装以下包以使apt可以通过HTTPS使用存储库(repository)

$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加Docker官方的GPG密钥

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

使用下面的命令来设置stable存储库

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

再更新一下apt包索引

$ sudo apt-get update

安装最新版本的Docker CE

$ sudo apt-get install -y docker-ce

三、指定版本安装

在生产系统上,可能会需要应该安装一个特定版本的Docker CE,而不是总是使用最新版本

列出可用的版本

$ apt-cache madison docker-ce

在这里插入图片描述

选择要安装的特定版本,第二列是版本字符串,第三列是存储库名称,它指示包来自哪个存储库,以及扩展它的稳定性级别。要安装一个特定的版本,将版本字符串附加到包名中,并通过等号(=)分隔它们

$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

例如选择19.03.15版本安装,命令如下

sudo apt-get install docker-ce=5:19.03.15~3-0~ubuntu-xenial docker-ce-cli=5:19.03.15~3-0~ubuntu-xenial containerd.io

四、启动和验证

查看docker服务是否启动

$ systemctl status docker

若未启动,则启动docker服务

$ sudo systemctl start docker

验证hello world

$ sudo docker run hello-world

五、一键卸载docker、docker-compose

创建文件,编辑内容
vim docker-uninstall.sh

# 卸载旧版本的Docker
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
#删除docker的镜像文件
rm -rf /var/lib/docker

ps -ef|grep docker|grep -v grep|xargs kill -s 9

#卸载docker相关包
yum remove docker-*

yum remove docker-ce-cli-*
yum remove docker-scan-plugin*

# 删除旧版docker-compose
rm -rf /usr/local/bin/docker-compose
rm -rf /usr/bin/docker-compose

保存文件后设置执行权限

chmod +777  docker-uninstall.sh

运行文件

sh  docker-uninstall.sh

验证是否删除成功

docker -v
docker-compose -v

六、docker命令使用

  1. docker查看信息#docker info
  2. docker查看镜像# docker images
  3. docker 列出run的容器:#docker ps -a
  4. pull docker镜像:#docker pull xxxxx
  5. 运行docker 容器
    docker run xxxxx
    docker run -p 8080:80 --name 自定义名称 -it 镜像名称 /bin/bash
  6. 退出docker 容器但不停止运行:Ctrl+P+Q
  7. 停止docker 容器运行:#docker stop CONTAINERID
  8. 删除docker 容器#docker rm CONTAINERID
  9. 删除docker镜像:#docker rmi imageID
  10. 启动docker容器:#docker start CONTAINERID

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基础工业工程(易树平、郭伏)——第四章 程序分析

第四章 程序分析 第一节 程序分析概述 一、程序分析的概念、特点及目的 1&#xff0e;程序分析的概念 程序分析是一种重要的生产管理工具&#xff0c;它是依照工作流程&#xff0c;从第一个工作地到最后一个工作地&#xff0c;全面地分析有无多余、重复、不合理的作业&…

【单片机/普中A2】学习笔记3-数码管

数码管主要概念 参考文献&#xff1a;点击前往 数码管分类 字形重叠数码管&#xff1a;将不同数字、字母与符号重叠&#xff0c;需要用到那个就显示那个 分段式数码管&#xff1a;最常见的数码管&#xff0c;按照笔画来显示&#xff0c;主要有七段式和八段式数码管 点矩阵式…

JavaScript 代码整洁之道

文章目录概述篇变量篇函数篇注释篇异常处理篇复杂判断函数篇重构篇参考资料概述篇 书写能让人读懂的代码使用英语编写代码团队协作 制定通用的规则&#xff0c;依靠工具让团队的代码风格保持统一&#xff0c;要让代码看起来是由一个人编写的&#xff0c;消除个人的代码风格。…

这么好看的客服组件,还是觉得接入ChatGPT,把它放在博客中那就完美了

我们在使用ChatGPT时&#xff0c;它的返回方式是采用流式回复。感觉这个效果不错。之前做的全都是的等全部结果请求完成&#xff0c;再一次性返回给用户。今天就通过流式回复的效果重写之前的程序。 前端 前端采用一个网页版的客服组件&#xff0c;整体的效果如下&#xff1a;…

小白学Pytorch系列- -torch.distributions API Transforms (2)

小白学Pytorch系列- -torch.distributions API Transforms (2) AbsTransform AffineTransform 通过逐点仿射映射进行转换yloc⁡scale xy\operatorname{loc}\text { scale } \times xyloc scale x loc (Tensor or float) : 位置参数scale (Tensor or float) : 尺度参数event…

k8s Deployment

一个Deployment控制器会创建一个新的ReplicaSet控制器&#xff0c;通过ReplicaSet创建pod rs v1控制三个pod&#xff0c;删除一个pod&#xff0c;在rs v2上重新建立一个&#xff0c;依次类推&#xff0c;直到全部都是由rs v2控制&#xff0c;如果rs v2有问题&#xff0c;还可以…

Spark on Yarn(client和cluster模式,spark-shell 和 spark-submit 的区别,WorldCount实现与理解)

文章目录Spark on Yarn两种模式clientclusterspark-shell 和 spark-submit 的区别的理解spark-shellspark-submitWorldCount实现IDEA本地实现On Yarn 实现WorldCount图解Spark on Yarn spark on yarn 的两种模式是指 spark 应用程序的 driver 进程&#xff08;负责控制和协调整…

JAVA8的Optional类,还用 != null 判空?

在文章的开头&#xff0c;先说下NPE问题&#xff0c;NPE问题就是&#xff0c;我们在开发中经常碰到的NullPointerException.假设我们有两个类&#xff0c;他们的UML类图如下图所示 在这种情况下&#xff0c;有如下代码 user.getAddress().getProvince(); 这种写法&#xff0c;在…

springboot整合mybatis(idea)

从idea新建项目 选择spring启动* help、mvnw 文件可以删除 springBoot3.0需要的最小JDK是JDK17&#xff0c;当低于17的时候会报错。 改成2.7.6 新建控制层Controller、Mapper层和Model文件夹 必须在springBoot启动项下面新建&#xff0c;不然无法识别。 允许XML进入target…

Java - 泛型

一、什么是泛型&#xff1f; 一般的类和方法&#xff0c;只能使用具体的类型: 要么是基本类型&#xff0c;要么是自定义的类。如果要编写可以应用于多种类型的 代码&#xff0c;这种刻板的限制对代码的束缚就会很大。----- 来源《Java编程思想》对泛型的介绍。 泛型是在JDK1.5…

初次使用yolov8遇到的问题

记录第一次使用yolo8跑自己的数据&#xff1b; 首先将官方文档看一下&#xff0c;大概捉摸了2个小时&#xff0c;地址&#xff1a;GitHub - ultralytics/ultralytics: NEW - YOLOv8 &#x1f680; in PyTorch > ONNX > CoreML > TFLite 获得了基本的一些了解&#x…

$\Beta$分布推导与可视化

$\Gamma$函数 $\Gamma$函数(Gamma函数)是阶乘函数在实数和复数域的扩展。对于正整数$n$&#xff0c;阶乘函数表示为$n! 1 \times 2 \times ... \times n$。然而&#xff0c;这个定义仅适用于正整数。Gamma函数的目的是将阶乘扩展到实数和复数域&#xff0c;从而计算实数和复数…

代码随想录【链表】--->删除倒数第N个节点、链表相交、环形链表

⭐️代码随想录⭐️ 数组篇: 二分查找 移除数组 有序数组的平方 长度最小的数组 螺旋矩阵 链表篇&#xff1a; 链表移除 设计链表 反转链表 交换链表中的节点 文章目录19. 删除链表的倒数第 N 个结点思路代码面试题 02.07. 链表相交思路代码142. 环形链表 II思路判断链表有环确…

ARM 制作简易的根文件系统

一、根文件系统概述 1、为什么需要根文件系统 (1) init 进程这个应用程序&#xff0c;在根文件系统上。 (2) 根文件系统提供了根目录&#xff1a;/。 (3) 内核启动后的应用层配置(/etc 目录)&#xff0c;在根文件系统上。几乎可以认为&#xff1a;发行版 内核 rootfs。 …

Arduino开发之如何连接压力传感器模块?

文章目录0.引言1.压力传感器模块说明2.代码编写3.功能演示0.引言 在利用Arduino开发过程中&#xff0c;若需知道设备能感知到受到外部按压&#xff0c;设备可以通过压力传感器模块来感知周围环境。本文在【Arduino如何进行开发&#xff1f;】基础上&#xff0c;借鉴现有网络资料…

数字营销新宠:探究2023年YouTube网红营销的核心趋势和商业价值

2023年&#xff0c;YouTube网红营销已经成为全球广告营销行业的重要组成部分。YouTube作为全球最大的视频分享平台&#xff0c;每月活跃用户数达到了20亿&#xff0c;其中有超过100万的YouTube网红在平台上分享自己的创意和想法。在这篇文章中&#xff0c;Nox聚星将和大家探讨2…

Visual Studio如何使用Qt开发桌面软件?

文章目录0.引言1.开发环境配置2.编写第一个Qt程序0.引言 笔者熟悉的第一门编程语言是C#&#xff0c;当初本科毕业设计需要进行Qgis的二次开发&#xff0c;本想利用C#编程&#xff0c;但网上资料较少&#xff0c;多是利用Qt进行Qgis的二次开发&#xff0c;Qt是利用C编程&#xf…

如何将aac转化为mp3,4种常用方法

aac是高级音频编码格式之一&#xff0c;支持多声道、解析度高&#xff0c;与mp3相比&#xff0c;aac格式的音质更佳&#xff0c;文件更小。在手机上录音时&#xff0c;保存下来的录音文件通常是AAC格式的。虽然aac格式有很多优点&#xff0c;但是&#xff0c;在不同的设备上&am…

POST请求与GET请求

get和post是HTTP协议中的两种发送请求的方法 HTTP是基于TCP/IP的关于数据如何在万维网中通信的协议 一、get请求与querystring get请求即客户端向server服务端请求数据&#xff0c;如&#xff1a;获取文章列表的分页码等 通过queryString来获取数据&#xff0c;如&#xff1…

设计模式 -- 模板方法模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…