Ubuntu离线安装Docker容器

前言

  • 使用安装的工具snap安装在沙箱中,并且该沙箱之外的权限有限。docker无法从其隔离的沙箱环境访问外部文件系统。

目录

    • 前言
    • 准备环境
    • 卸载已安装的Docker环境
      • 快照安装的Docker
      • apt删除Docker
    • 安装docker-compose
      • 下载执行文件
      • 将文件移到 `/usr/local/bin`
      • 赋予执行权限
      • 验证安装
    • 安装Docker
      • 下载deb软件包
      • 开始安装
      • 启动Docker
      • 验证安装
    • 参考

准备环境

  • 系统:Ubuntu 22.04
  • docker-compose发布地址:docker/compose
  • 官方文档:在 Ubuntu 上安装 Docker 引擎
  • Docker-deb发布地址:Index of linux/ubuntu/dists/

卸载已安装的Docker环境

快照安装的Docker

如果是通过快照安装的Docker,可以使用以下命令删除您的旧版本Docker

# Remove docker from snap
snap remove docker
# OR Run snap remove --purge docker
# Remove the docker directory, and old version (It's okay if these don't exist already)
rm -R /var/lib/docker
sudo apt-get remove docker docker-engine docker.io

注意:snap remove docker命令会保存以前的快照,这可能需要很长时间。
使用snap remove --purge docker跳过保存以前的快照。

apt删除Docker

在安装 Docker Engine 之前,您需要卸载所有冲突的软件包
要卸载的非官方软件包有:

  • docker.io
  • docker-compose
  • docker-compose-v2
  • docker-doc
  • podman-docker
  • 此外,Docker Engine 依赖于containerd和runc。 Docker 引擎将这些依赖项捆绑为一个捆绑包:containerd.io.如果您之前安装过containerd或runc,请卸载它们以避免与 Docker Engine 捆绑的版本冲突。
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

apt-get可能会报告您没有安装这些软件包
/var/lib/docker/卸载 Docker 时,不会自动删除存储的映像、容器、卷和网络。如果您想从全新安装开始,并且希望清理任何现有数据,请阅读官方文档 卸载 Docker 引擎部分。

安装docker-compose

下载执行文件

从发布地址下载你所需要docker-compose版本的二进制文件
在这里插入图片描述
如本文所需要的docker-compose-linux-x86_64,下载完成后,将文件名称修改为docker-compose,
然后将二进制文件上传到Ubuntu服务器
如上传到/opt目录

将文件移到 /usr/local/bin

执行以下命令将文件移动到/usr/local/bin

# 替换 /opt/docker-compose 为你实际的文件路径。
sudo mv /opt/docker-compose /usr/local/bin/docker-compose

赋予执行权限

运行以下命令来赋予 docker-compose 执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证安装

输入以下命令来验证 docker-compose 是否安装成功:

docker-compose --version

如果安装成功,你应该会看到 docker-compose 的版本信息。

安装Docker

下载deb软件包

访问Docker-deb发布地址
在列表中选择您的 Ubuntu 版本
转至pool/stable/并选择适用的架构(amd64、 armhf、arm64或s390x)。
下载Docker 引擎、CLI、containerd 和 Docker Compose 软件包的以下文件:

  • containerd.io_<version>_<arch>.deb
  • docker-ce_<version>_<arch>.deb
  • docker-ce-cli_<version>_<arch>.deb
  • docker-buildx-plugin_<version>_<arch>.deb
  • docker-compose-plugin_<version>_<arch>.deb

安装deb软件包。将以下示例中的路径更新为下载 Docker 软件包的位置。
如本文下载后移动至服务器/home
在这里插入图片描述

开始安装

执行以下命令进行安装:

sudo dpkg -i *.deb

启动Docker

Docker 守护进程自动启动:

sudo service docker start

验证安装

执行以下命令验证安装状态

docker version

执行成功会打印相关版本信息

参考

本文参考以下文档:

  • Docker compose error while creating mount source path
  • Install Docker Engine on Ubuntu

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity3D】ECS入门学习(七)缓存区组件 IBufferElementData

组件继承于IBufferElementData&#xff0c;可以让一个实体拥有多个相同的组件。 using Unity.Entities;public struct MyBuffComponentData : IBufferElementData {public int num; }using System.Collections; using System.Collections.Generic; using UnityEngine; using U…

一种寻路的应用

应用背景 利用长途车进行货物转运的寻路计算。例如从深圳到大连。可以走有很多条长途车的路线。需要根据需求计算出最合适路线。不同的路线的总里程数、总价、需要的时间不一样。客户根据需求进行选择。主要有一些细节&#xff1a; 全国的长途车车站的数据的更新&#xff1a; …

15、【OS】【Nuttx】OS裁剪,运行指定程序,周期打印当前任务

背景 接之前wiki【Nsh中运行第一个程序】https://blog.csdn.net/nobigdeal00/article/details/144728771 OS还是比较庞大&#xff0c;且上面搭载了Nsh&#xff08;Nuttx Shell&#xff09;&#xff0c;需要接入串口才能正常工作&#xff0c;一般调试的时候用&#xff0c;非调试…

学习 Python 编程的规则与风格指南

文章目录 1. Python 编程规则1.1 Python 的哲学&#xff1a;The Zen of Python1.2 遵守 PEP 81.3 Python 是大小写敏感的1.4 使用 Pythonic 风格 2. Python 编程风格2.1 命名风格2.2 注释风格2.3 文档字符串&#xff08;Docstring&#xff09;2.4 空格使用2.5 文件和代码组织 3…

Seata AT 模式两阶段过程原理解析【seata AT模式如何做到对业务的无侵入】

在分布式事务中&#xff0c;Seata 的 AT 模式&#xff08;Automatic Transaction&#xff09;是一种基于两阶段提交协议的事务模式。它通过自动生成数据快照&#xff08;before image 和 after image&#xff09;&#xff0c;实现了对分布式事务的高效管理。本文将详细解析 Sea…

中关村科金外呼机器人智能沟通破解营销难题

当今&#xff0c;传统的营销方式在效率、成本控制、客户管理等方面逐渐显现出局限性&#xff0c;难以满足现代企业的需求。如何提升营销效率、降低运营成本、有效管理客户会员&#xff0c;成为企业的难题。中关村科金外呼机器人通过智能化沟通技术&#xff0c;为企业提供了一站…

旅游景点票价预测02

5.数据预处理 经过4的数据分析环节&#xff0c;我们得出了一些和目标特征‘price’关联度比较高的特征&#xff0c;现在将这些特征列进行提取 df.head(5)# 筛选对应的数据列 rs_df df[[price,comment,sight_comment_score,level,city,address]] # 判断是否有缺失值 rs_df.isnu…

“事务认证平台”:个人日常事务管理系统的诚信体系建设

3.1系统体系结构 系统的体系结构非常重要&#xff0c;往往决定了系统的质量和生命周期。针对不同的系统可以采用不同的系统体系结构。本系统为个人日常事务管理系统&#xff0c;属于开放式的平台&#xff0c;所以在体系结构中采用B/s。B/s结构抛弃了固定客户端要求&#xff0c;…

单片机与MQTT协议

MQTT 协议简述 MQTT&#xff08;Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于发布 / 订阅&#xff08;publish/subscribe&#xff09;模式的 “轻量级” 通讯协议&#xff0c;该协议构建于 TCP/IP 协议上&#xf…

小程序基础 —— 07 创建小程序项目

创建小程序项目 打开微信开发者工具&#xff0c;左侧选择小程序&#xff0c;点击 号即可新建项目&#xff1a; 在弹出的新页面&#xff0c;填写项目信息&#xff08;后端服务选择不使用云服务&#xff0c;开发模式为小程序&#xff0c;模板选择为不使用模板&#xff09;&…

【js】记录预览pdf文件

接口调用拿到pdf的文件流&#xff0c;用blob处理这个文件流拿到url&#xff0c;使用window.open跳转新的窗口进行预览 api({dataType: blob, }).then(res >{if(res.code 0){this.previewPDF(res,application/pdf;charsetutf-8,pdf文件名)} })previewPDF (res, type, fname…

《机器学习》——利用OpenCV库中的KNN算法进行图像识别

文章目录 KNN算法介绍下载OpenCV库实验内容实验结果完整代码手写数字传入模型训练 KNN算法介绍 一、KNN算法的基本要素 K值的选择&#xff1a;K值代表选择与新测试样本距离最近的前K个训练样本数&#xff0c;通常K是不大于20的整数。K值的选择对算法结果有重要影响&#xff0c…

“拍卖认证平台”:网上拍卖系统的诚信体系建设

2.1 B/S结构介绍 在早期&#xff0c;一些使用HTML语言编写的文件&#xff0c;再集合一些其它资源文件就可以组成一个最简单的Web程序&#xff0c;了解了Web程序也需要了解Web站点&#xff0c;它们之间的关系就是一个或者多个Web程序可以放在Internet上的一个Web站点&#xff08…

【AIGC篇】AIGC 引擎:点燃创作自动化的未来之火

&#xff1a;羑悻的小杀马特.-CSDN博客 未来都是惊喜。你生来本应为高山。并非草芥。 引言&#xff1a; 在当今数字化的时代&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;正以一种前所未有的力量改变着我们的创作领域。它就像一个神秘而强大的魔法师&#xff0c;…

C++:单例模式

创建自己的对象&#xff0c;同时确保对象的唯一性。 单例类只能有一个实例☞静态成员static☞静态成员 必须类外初始化 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 静态成员类内部可以访问 构造函数私有化☞构造函数私有外部不能创建&#x…

day26 文件io

函数接口 1 .open和close 文件描述符&#xff1a;系统为用open打开的文件分配的标识符 非负的整形数据 0-1023 最小未被使用原则 使用完时及时释放&#xff0c;避免文件描述符溢出 文件描述溢出就是文件使用完没有及时关闭文件 int open(const char *pathname, int flags); /…

mysql索引的理解

1、索引是什么&#xff1f; 索引&#xff1a;简单理解就是我们字典的目录&#xff0c;一个索引可以找得到多个记录。 作用加快我们数据库的查询速度。索引本身较大&#xff0c;往往存储在磁盘的文件里。可能存储在单独的索引文件中&#xff0c;也可能和数据一起存储在数据文件…

Leetcode打卡:查询数组中元素出现的位置

执行结果&#xff1a;通过 题目 3159 查询数组中元素出现的位置 给你一个整数数组 nums &#xff0c;一个整数数组 queries 和一个整数 x 。 对于每个查询 queries[i] &#xff0c;你需要找到 nums 中第 queries[i] 个 x 的位置&#xff0c;并返回它的下标。如果数组中 x 的出…

Overleaf中设置表格中的字体为Times New Roman

在Overleaf中设置表格中的字体为Times New Roman 需要有这个字体包 使用 \usepackage{times} 宏包 在文档的导言区添加 \usepackage{times} 宏包,这将把整个文档的字体设置为Times New Roman,包括表格中的字体。例如:\documentclass{article} \usepackage{times} \begin{…

如何理解 CNN 中的 RGB 图像和通道?

本文为合集收录&#xff0c;欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 在灰度图一节的最后&#xff0c;给出了一个由彩色图片转成灰度图的示例&#xff0c;并且通过 color_image.mode获取了图片的格式&#xff1a;彩色图片获取到的格式为 RGBA&a…