Ubuntu离线安装Docker容器

news/2024/12/28 21:40:26/

前言

  • 使用安装的工具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 引擎部分。

dockercompose_46">安装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.ppmy.cn/news/1558889.html

相关文章

如何注册华为云国际版账户:详细步骤指南

华为云作为全球知名的云计算服务提供商&#xff0c;提供了丰富的云服务和解决方案。无论是企业还是个人开发者&#xff0c;注册华为云国际版账户都是开启云计算之旅的第一步。我们九河云通过本文将为您详细介绍华为云国际版的注册流程。 第一步&#xff1a;访问华为云国际版官网…

【蓝桥杯——物联网设计与开发】拓展模块4 - 脉冲模块

目录 一、脉冲模块 &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;采集原理 &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#xff09;实验现象 二、脉冲模块接口函数封装 三、踩坑日记 &a…

python学opencv|读取图像(二十一)使用cv2.circle()绘制圆形进阶

【1】引言 前序已经掌握了使用cv2.circle()绘制圆形的基本操作&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;二十&#xff09;使用cv2.circle()绘制圆形-CSDN博客 由于圆形本身绘制起来比较简单&#xff0c;因此可以自由操作的空间也就大&#x…

idea 8年使用整理

文章目录 前言idea 8年使用整理1. 覆盖application配置2. 启动的时候设置编辑空间大小&#xff0c;并忽略最大空间3. 查询类的关系4. 查看这个方法的引用关系5. 查看方法的调用关系5.1. 查看被调用关系5.2. 查看调用关系 6. 方法分隔线7. 选择快捷键类型8. 代码预览插件9. JReb…

linux——vi命令常用操作

一、vi模式 vi一般分为三种模式&#xff0c;分别是命令行模式、插入模式、末行模式 1.命令模式&#xff1a;控制屏幕光标的移动&#xff0c;按 &#xff1a;进入末行模式&#xff0c;按 i&#xff08;其他插入命令也可&#xff09; 进入插入模式&#xff1b; 2.插入模式&…

lv_ffmpeg学习及播放rtsp

lvgl8.3有ffmpeg支持 FFmpeg support typedef struct {lv_img_t img;lv_timer_t * timer;lv_img_dsc_t imgdsc;bool auto_restart;struct ffmpeg_context_s * ffmpeg_ctx; } lv_ffmpeg_player_t;typedef enum {LV_FFMPEG_PLAYER_CMD_START,LV_FFMPEG_PLAYER_CMD_STOP,LV_FFMP…

Tomcat日志文件详解及catalina.out日志清理方法

目录 前言1. Tomcat日志文件详解 1.1 catalina.out1.2 localhost_access_log1.3 catalina..log1.4 host-manager..log 和 manager..log1.5 localhost..log 2. catalina.out文件管理与清理方法 2.1 为什么不能直接删除catalina.out文件2.2 正确清空catalina.out文件的方式2.3 自…

基于kraft部署kafka集群

kafka介绍 Apache Kafka 是一个开源的分布式事件流平台&#xff0c;被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。 Kafka是一个拥有高吞吐、可持久化、可水平扩展&#xff0c;支持流式数据处理等多种特性的分布式消息流处理中间件&#xff0c;采用分布式…