ubuntu安装docker及插件docker-compose(详细图文)

news2025/2/2 18:06:01

目录

一、摘要

二、说明

三、安装docker及compose

方式一:采用apt存储库安装

1.设置 Docker 的存储库

2.1安装最新Docker包及其常用插件docker-compose

2.2安装指定 Docker 包及其常用插件docker-compose

(1)列出所有存储库中docker版本

(2)安装指定版本

3.验证 Docker 引擎安装是否成功

方式二:采用便捷脚本进行安装

四、配置镜像加速

五、卸载Docker

1.卸载 Docker 引擎、CLI、containerd 和 Docker Compose 包:

2.主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,执行以下操作


 


一、摘要

本文档适用于在Linux上安装部署Docker,采用的操作系统是Ubuntu 22.04 且适用于 Ubuntu 的 Docker 引擎与 x86_64(或 amd64)、armhf、arm64、 S390x 和 PPC64LE (PPC64EL) 架构。

二、说明

在安装 Docker 引擎之前,需要卸载任何冲突的包。

运行以下命令以卸载所有冲突的软件包:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

解释:使用了一个循环 (for 循环) 遍历这些软件包,并依次使用 apt-get remove 命令进行移除

  • docker.io:Docker 的核心软件包。
  • docker-doc:Docker 的文档包。
  • docker-compose:Docker Compose 工具的旧版本。
  • docker-compose-v2:Docker Compose 工具的新版本。
  • podman-docker:Podman 容器引擎的 Docker 兼容包。
  • containerd:Docker 使用的容器运行时。
  • runc:Docker 使用的容器执行工具。

三、安装docker及compose

方式一:采用apt存储库安装

大家按照下面命令,一步一步操作安装docker,一般都是不会出现问题。

本人亲测,采用官方提供的软件源,进行docker相关安装时间比较慢,建议换成阿里云的或者中科大的进行安装。

1.设置 Docker 的存储库
# Add Docker's official GPG key:
#更新本地的软件包列表
sudo apt-get update 
#安装必要的依赖项,包括 ca-certificates 和 curl
sudo apt-get install ca-certificates curl
#创建 /etc/apt/keyrings 目录,该目录用于存储 Docker 的 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
#从 Docker 官方网站下载 GPG 密钥并将其保存到 /etc/apt/keyrings/docker.asc 文件中。
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
#更改密钥文件的权限以确保只有管理员可以访问它
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
#将 Docker APT 源添加到系统中,并保存在 /etc/apt/sources.list.d/ 目录下的 docker.list 文件中。
#此命令会自动检测系统架构和发行版名称,并使用它们来构建正确的源地址。
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#再次更新本地的软件包列表
sudo apt-get update

说明:

(1)可更换软件源(下载速度快),比如上面我提到

官方采用的软件源(慢不采用):sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

阿里云软件源:

sudo curl -fsSL http://mirrors.aliyun.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

中科大

sudo curl -fsSL https://mirrors.ustc.edu.cn/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

(2)将 Docker APT 源添加到系统中,并保存在 /etc/apt/sources.list.d/ 也可更换成其他 。替换成相应的请求地址,比如替换成阿里云

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] docker-ce-linux-ubuntu安装包下载_开源镜像站-阿里云 \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.1安装最新Docker包及其常用插件docker-compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.2安装指定 Docker 包及其常用插件docker-compose
(1)列出所有存储库中docker版本
apt-cache madison docker-ce | awk '{ print $3 }'
(2)安装指定版本
# 定义一个变量接收安装docker的版本
VERSION_STRING=5:25.0.2-1~ubuntu.22.04~jammy
# 此命令会根据指定变量的docker版本安装相关docker软件
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

 等待安装

3.验证 Docker 引擎安装是否成功

(1)查看docker的运行状态

systemctl status docker

(2)运行测试镜像

docker run hello-world

到此docker安装成功

方式二:采用便捷脚本进行安装

在安装之前,请熟悉潜在的风险和限制 的便利脚本:

  • 脚本需要或权限才能运行。root sudo
  • 该脚本尝试检测您的 Linux 发行版和版本,以及 为您配置包管理系统。
  • 该脚本不允许您自定义大多数安装参数。
  • 该脚本安装依赖项和建议,而不要求 确认。这可能会安装大量软件包,具体取决于 主机的当前配置。
  • 默认情况下,该脚本会安装最新的稳定版本的 Docker, containerd 和 runc。使用此脚本置备计算机时,这可能会 导致 Docker 意外的主要版本升级。始终在以下位置测试升级 部署到生产系统之前的测试环境。
  • 该脚本并非旨在升级现有 Docker 安装。什么时候 使用脚本更新现有安装,依赖项可能不是 更新到预期版本,导致版本过时。

可模拟安装

#拉取docker脚本
curl -fsSL https://get.docker.com -o get-docker.sh
# 运行脚本 --dry-run 表示模拟安装运行
sudo sh ./get-docker.sh --dry-run

真实安装

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

四、配置镜像加速

由于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,

新版的 Docker 使用 /etc/docker/daemon.json 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):Docker中国官方加速

{
    "registry-mirrors": ["https://registry.docker-cn.com"]
}

五、卸载Docker

1.卸载 Docker 引擎、CLI、containerd 和 Docker Compose 包:

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2.主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,执行以下操作

#删除 Docker 的数据目录。将删除 Docker 安装后创建的所有文件和目录,包括镜像、容器和存储卷等。
sudo rm -rf /var/lib/docker
#删除 containerd 的数据目录。Containerd 是 Docker 使用的容器运行时,删除此目录将删除与 Docker 相关联的所有容器和映像。
sudo rm -rf /var/lib/containerd

参考:Ubuntu使用国内源安装指定Docker版本(完整教程)_ubantu查看源下的docker版本-CSDN博客

Ubuntu下安装Docker及镜像源设置_ubuntu 设置docker 获取镜像源地址-CSDN博客

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

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

相关文章

Docker中配置MySql环境

目录 一、简单安装 1. 首先从Docker Hub中拉取镜像 2. 启动尝试创建MySQL容器,并设置挂载卷。 3. 查看mysql8这个容器是否启动成功 4. 如果已经成功启动,进入容器中简单测试 4.1 进入容器 4.2 登录mysql中 4.3 进行简单添加查找测试 二、主从复…

Linux实验记录:使用Apache的虚拟主机功能

前言: 本文是一篇关于Linux系统初学者的实验记录。 参考书籍:《Linux就该这么学》 实验环境: VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 正文: 目录 前言: 正文&…

行业报告 | 工业机器人发展研报

原创 | 文 BFT机器人 工业机器人是一种能够自动执行任务的机器装置,是靠自身动力和控制能力来实现各种功能的一种机器。在工业生产过程中,可以大幅提高生产效率和产品质量。 随着科技的不断进步,工业机器人已经成为现代制造业的重要组成部分…

【Unity3D小技巧】Unity3D中UI控制解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中总是会控制UI界面,如何优雅的控制UI界面是…

亚马逊精品广告推广怎么做?亚马逊怎么看精品广告推广?站斧浏览器

亚马逊精品广告推广怎么做? 对于想要在亚马逊平台上进行精品广告推广的商家来说,以下是一些常见的操作步骤和注意事项。 首先,商家需要在亚马逊广告平台注册并创建广告账户。亚马逊广告平台提供了专门的自助式广告管理工具,商家可以通过该…

数据结构-图的最小生成树

最小生成树介绍 最小生成树(Minimum Cost Spanning Tree)是代价最小的连通网的生成树,即该生成树上的边的权值和最小 最小生成树的性质: 必须使用且仅使用连通网中的n-1条边来联结网络中的n个顶点; 不能使用产生回路的边; 各…

linux vim 异常退出 异常处理 交换文件

交换文件 *.swp 格式 同时是隐藏的 如在vim一个文件, 在没有正常退出, 如直接断开连接 在次编辑这个文件 会出现下图的错误 解决方案: 直接删除这个交换文件即可 rm -fr .zen.txt.swp

css3 属性 backface-visibility 的实践应用

backface-visibility 是一个用于控制元素在面对屏幕不同方向时的可见性的CSS3特性。它有两个可能的值: visible:当元素不面向屏幕(即背面朝向用户)时,元素的内容是可以被看到的。hidden:当元素不面向屏幕…

【计算机网络】Socket的SO_REUSEADDR选项与TIME_WAIT

SO_REUSEADDR用于设置套接字的地址重用。当一个套接字关闭后,它的端口可能会在一段时间内处于TIME_WAIT状态,此时无法立即再次绑定相同的地址和端口。使用SO_REUSEADDR选项可以允许新的套接字立即绑定到相同的地址和端口,即使之前的套接字仍处…

如何使用Linux Archcraft结合内网穿透实现SSH远程连接

📑前言 本文主要是使用Linux Archcraft结合内网穿透实现SSH远程连接的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 &#…

过年了,程序员们,请多关照自己!休息是为了走得更远!

文章目录 过年了,程序员们,请多关照自己!一、理解“卷”背后的代价二、休息是为了走得更远三、关注健康,远离“过劳”四、平衡工作与生活,追求全面发展 过年了,程序员们,请多关照自己&#xff0…

input框前面名字长短不一时,让上下input框对齐方法

没设置之前 设置之后&#xff1a; 代码如下&#xff1a; <style>div{width: 500px;}label {display: block; /* 设置 label 元素为块级元素 */text-align: right; /* 设置文本右对齐 */margin-bottom: 10px; /* 设置标签之间的间距 */} </style> </head><…

Aigtek射频功率放大器有哪些具体应用

射频功率放大器是一种用于增加射频信号功率的电子器件。它在众多领域中有着广泛的具体应用&#xff0c;下面安泰电子将详细介绍几个主要的应用领域。 无线通信&#xff1a;射频功率放大器在无线通信系统中扮演着重要的角色。在移动通信领域&#xff0c;如蜂窝网络和卫星通信系统…

Solidworks 与 MATLAB 联合仿真

本文主要讲解了“MATLAB与SolidWorks的联合仿真怎么实现”&#xff0c;文中的讲解内容简单清晰&#xff0c;易于学习与理解&#xff0c;下面请大家跟着小编的思路慢慢深入&#xff0c;一起来研究和学习“MATLAB与SolidWorks的联合仿真怎么实现”吧&#xff01; 下载插件。 1、…

linux免密登录的实现

ssh免密登录使用方便&#xff0c;关键没有了口令验证反倒规避了暴力破解或者被探测的风险。配置得当&#xff0c;使用ssh免密登录更加安全。在生产环境中应用和数据库服务器之间互相设置后使用方便&#xff0c;并且在第三方人员配置使用时不用告知对方密码。 第一步、ssh登录发…

Python itertools模块:生成迭代器(实例分析)

itertools 模块中主要包含了一些用于生成迭代器的函数。在 Python 的交互式解释器中先导入 itertools 模块&#xff0c;然后输入 [e for e in dir(itertools) if not e.startswith(_)] 命令&#xff0c;即可看到该模块所包含的全部属性和函数&#xff1a; >>> [e for …

RabbitMQ控制台的基本使用

启动RabbitMQ后&#xff0c;浏览器 http://localhost:15672 打开RabbitMQ的控制台页面后&#xff0c;登录默认账户guest。 一. 添加队列 控制台选择队列&#xff0c;然后选择添加队列&#xff0c;队列类型默认经典类型&#xff0c;然后输入队列名称&#xff0c;最后添加队列。…

JSP和JSTL板块:第三节 JSP四大域对象 来自【汤米尼克的JAVAEE全套教程专栏】

JSP和JSTL板块&#xff1a;第三节 JSP四大域对象 一、page范围二、request范围三、session范围四、application范围 在服务器和客户端之间、各个网页之间、哪怕同一个网页之内&#xff0c;总是需要传递各种参数值&#xff0c;这时JSP的内置对象就是传递这些参数的载具。内置对象…

JeecgBoot jmreport/loadTableData RCE漏洞复现(CVE-2023-41544)

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

虫情监测设备能够自动识别病虫害

TH-CQ3S虫情监测设备的工作原理主要是通过高清摄像头拍摄农田的实时图像&#xff0c;利用图像识别技术对图像中的病虫害进行自动识别。一旦发现病虫害&#xff0c;设备会自动发出警报&#xff0c;并通过手机APP通知农民。农民可以根据设备提供的预测预报&#xff0c;及时采取防…