Ubuntu离线安装Docker容器

前言

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

目录

准备环境

卸载已安装的Docker环境

快照安装的Docker

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

bash 复制代码
# 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 捆绑的版本冲突。
bash 复制代码
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

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

赋予执行权限

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

bash 复制代码
sudo chmod +x /usr/local/bin/docker-compose

验证安装

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

bash 复制代码
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

开始安装

执行以下命令进行安装:

bash 复制代码
sudo dpkg -i *.deb

启动Docker

Docker 守护进程自动启动:

bash 复制代码
sudo service docker start

验证安装

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

bash 复制代码
docker version

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

参考

本文参考以下文档:

相关推荐
唐青枫1 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
努力的小雨11 小时前
我用 QClaw 做了个 Web3 陪学助手,专治 Java 程序员的“概念劝退”
经验分享·ai智能
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker