ubuntu docker离线安装docker(.deb包方式)(成功)(附卸载方法)

这篇具有很好参考价值的文章主要介绍了ubuntu docker离线安装docker(.deb包方式)(成功)(附卸载方法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文章:Install Docker Engine on Ubuntu

https://docs.docker.com/desktop/install/ubuntu/

https://docs.docker.com/engine/install/ubuntu/#install-from-a-package

说明:这个安装方式是下载.deb包安装,最终效果几乎与用apt install docker.io完全相同。不仅安装方便,卸载起来也十分方便,不会破环系统环境。

安装步骤

下载安装包

https://download.docker.com/linux/ubuntu/dists/

我是ubuntu20.04,选择focal:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

选择pool(官网让选这的):
deb包卸载,linux,ubuntu,docker,ubuntu,docker
解释:

目录说明:

  • edge/:包含一些实验性或开发中的软件包,可能不稳定或不适合生产环境使用。
  • nightly/:包含每日构建的软件包,用于测试和开发目的。
  • pool/:存放软件包的目录。
  • stable/:包含稳定版本的软件包,适合生产环境使用。
  • test/:包含一些测试相关的软件包。

文件说明:

  • InRelease:包含软件包的元数据和数字签名,用于验证软件包的完整性和真实性。
  • Release:包含软件包的元数据,如软件包列表、版本信息等。
  • Release.gpg:包含对Release文件的数字签名,用于验证Release文件的真实性。

选择stable:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

选择amd64(根据系统来,我的目前是amd64):

deb包卸载,linux,ubuntu,docker,ubuntu,docker

将下列文件全下载下来:

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

关于下载什么版本的,我就根据我ubuntu20.04虚拟机上之前用apt install docker.io的来吧:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

这是我们ubuntu20.04arm盒子的,我也备份下:

root@ubuntu:~# docker version
Client:
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.18.1
 Git commit:        20.10.21-0ubuntu1~20.04.2
 Built:             Thu Apr 27 05:56:44 2023
 OS/Arch:           linux/arm64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.1
  Git commit:       20.10.21-0ubuntu1~20.04.2
  Built:            Thu Apr 27 05:37:01 2023
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.12-0ubuntu1~20.04.1
  GitCommit:        
 runc:
  Version:          1.1.4-0ubuntu1~20.04.3
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:        
root@ubuntu:~# 
root@ubuntu:~# 

不过我的虚拟机貌似没装buildx插件和compose,我用命令装下:

apt install docker.io

docker buildx install

apt install docker-compose

算了,还是不装了,不装好像也没事,docker基本功能能用就行。(我后来试了,上面命令好像有问题,buildx还装不了。。。)

那我们就只装下面这几个,保证基本功能能用就行:

containerd.io_1.6.12-1_amd64.deb
docker-ce-cli_20.10.21~3-0~ubuntu-focal_amd64.deb
docker-ce_20.10.21~3-0~ubuntu-focal_amd64.deb

这也奇怪,列表中文件名有~符号,下下来文件又没了。。。。

deb包卸载,linux,ubuntu,docker,ubuntu,docker

拷贝到目标主机并执行安装命令

把下好的文件拷贝到目标虚拟机中:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

然后根据官网提供的方法安装各安装包:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

我这为了方便和可维护,直接做了个脚本:

#!/bin/bash

# 打印所有,包括注释
# set -v
# 打印执行命令
# set -x
# 命令出错退出
set -e
# 使用未初始化变量退出
set -u

USER=root

# Check user: only support root
WHO=$(whoami | grep "${USER}$")
if [ -z "${WHO}" ]; then
    echo
    echo "Please change to \"${USER}\" user mode first!"
    echo
    exit 1
fi

# 获取脚本所在目录
SCRIPT_DIR=$(
    cd "$(dirname "$0")" || {
        echo "cd Failure"
        exit 1
    }
    pwd
)

DEB_PATH_DOCKER_CONTAINERD_IO=$SCRIPT_DIR/containerd.io_1.6.12-1_amd64.deb
DEB_PATH_DOCKER_CE=$SCRIPT_DIR/docker-ce-cli_20.10.21_3-0_ubuntu-focal_amd64.deb
DEB_PATH_DOCKER_CE_CLI=$SCRIPT_DIR/docker-ce_20.10.21_3-0_ubuntu-focal_amd64.deb
# DEB_PATH_DOCKER_BUILDX=$SCRIPT_DIR/docker-buildx-plugin_0.11.1-1_ubuntu.20.04_focal_amd64.deb
# DEB_PATH_DOCKER_COMPOSE=$SCRIPT_DIR/docker-buildx-plugin_0.11.1-1_ubuntu.20.04_focal_amd64.deb

# 安装.deb包(注意是有顺序的,顺序错了安装不起来)

# (网友提醒,这个顺序不对,我未做验证)
# dpkg -i $DEB_PATH_DOCKER_CONTAINERD_IO \
#     $DEB_PATH_DOCKER_CE \
#     $DEB_PATH_DOCKER_CE_CLI

dpkg -i $DEB_PATH_DOCKER_CE_CLI \
    $DEB_PATH_DOCKER_CONTAINERD_IO \
    $DEB_PATH_DOCKER_CE 

把脚本搞到目录下,并且运行:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

deb包卸载,linux,ubuntu,docker,ubuntu,docker

deb包卸载,linux,ubuntu,docker,ubuntu,docker

验证

拉取运行容器

# 第一次安装可以不用,但是卸载后再安装,就需要执行一下,否则会报错:“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?”
sudo service docker start
sudo docker run hello-world

成功了!

deb包卸载,linux,ubuntu,docker,ubuntu,docker

测试build dockerfile

测试build dockerfile也没有问题,那那个buildx应该是build跨平台镜像用的:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

测试持久运行容器

deb包卸载,linux,ubuntu,docker,ubuntu,docker

测试主机重启后,docker各服务是否正常自启

重启后:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

看起来应该是没有什么问题,跟用apt install docker.io效果一样

卸载方法

可以用dpkg -r <package_name>命令来卸载包,

我写了个卸载脚本,执行脚本可以一键卸载docker(卸载上面安装的那三个.deb包):

#!/bin/bash

# 打印所有,包括注释
# set -v
# 打印执行命令
# set -x
# 命令出错退出
set -e
# 使用未初始化变量退出
set -u

USER=root

# Check user: only support root
WHO=$(whoami | grep "${USER}$")
if [ -z "${WHO}" ]; then
    echo
    echo "Please change to \"${USER}\" user mode first!"
    echo
    exit 1
fi

# 卸载函数
uninstall_package() {
    package_name=$1

    dpkg -r $package_name
    if [ $? -ne 0 ]; then
        echo "卸载 $package_name 失败!"
        echo
        exit 1
    fi
    echo "卸载 $package_name 成功"
    echo
}

# 注意卸载顺序:docker-ce 依赖 docker-ce-cli,不能先卸载 docker-ce-cli

# 卸载docker-ce
uninstall_package "docker-ce"

# 卸载docker-ce-cli
uninstall_package "docker-ce-cli"

# 卸载containerd.io
uninstall_package "containerd.io"

执行结果:

deb包卸载,linux,ubuntu,docker,ubuntu,docker

附:各安装包作用说明(以及插件)

下面是Docker相关软件包的安装文件,各自的作用如下:

1. containerd.io_<version>_<arch>.deb

这是Docker容器运行时(containerd)的软件包。Containerd是一个开源的容器运行时,用于管理和运行容器。

2. docker-ce_<version>_<arch>.deb

这是Docker社区版(Community Edition)的软件包。Docker CE是免费的Docker版本,适用于个人和小型团队使用。

3. docker-ce-cli_<version>_<arch>.deb

这是Docker社区版的命令行界面(CLI)的软件包。它提供了与Docker守护进程进行交互的命令行工具。

4. docker-buildx-plugin_<version>_<arch>.deb

这是Docker Buildx插件的软件包。Buildx是一个用于构建多平台镜像的工具,它可以同时构建多个平台的镜像,并支持交叉编译。

5. docker-compose-plugin_<version>_<arch>.deb

这是Docker Compose插件的软件包。Docker Compose是一个用于定义和运行多容器应用的工具,它使用一个YAML文件来配置应用的服务、网络和卷等。

附:docker-ce-rootless-extras_<version>_<arch>.deb和docker-scan-plugin_<version>_<arch>.deb 是什么?

https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/

下载文件列表里有这两个,不知道是啥?

deb包卸载,linux,ubuntu,docker,ubuntu,docker

deb包卸载,linux,ubuntu,docker,ubuntu,docker

docker-ce-rootless-extras_<version>_<arch>.deb 是Docker社区版(Community Edition)的非root用户额外组件的软件包。它包含了一些用于在非root用户下运行Docker的额外工具和插件。这些组件允许非特权用户在没有root权限的情况下使用Docker。

docker-scan-plugin_<version>_<arch>.deb 是Docker的扫描插件的软件包。这个插件允许用户对Docker镜像进行安全扫描,以检测其中的漏洞和安全问题。它可以帮助用户在构建和部署容器时提前发现潜在的安全风险。

这两个软件包是Docker的附加组件,可以根据需要选择安装。docker-ce-rootless-extras适用于非root用户使用Docker的场景,而docker-scan-plugin适用于进行Docker镜像的安全扫描。文章来源地址https://www.toymoban.com/news/detail-757289.html

到了这里,关于ubuntu docker离线安装docker(.deb包方式)(成功)(附卸载方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux下Docker 离线安装详细步骤,亲测成功

    1.离线原因:公司新创不能使用开元linux,使用了一个变种centOS,致使yum被禁 2.步骤:         2.1 下载docker tar包,下载地址: Index of linux/ https://download.docker.com/linux/       2.2  新建自己的软件目录,然后将tar移过去,并解压  2.3将解压文件中docker下的所有文件移动到/usr/bi

    2024年02月05日
    浏览(40)
  • apache php mysql python 环境部署与离线安装deb包

    使用的系统为ubuntu18.04 server amd64 2.1 安装系统: 下载:https://cn.ubuntu.com/download/alternative-downloads 选择查看全部Ubuntu 镜像站 点击可以选择使用国内的源进行下载,速度非常快 2.2 apache mysql php安装 安装顺序为:apache2,mysql,php,在当前的Ubuntu18安装apache2和mysql时,apt会自动将这两

    2024年02月12日
    浏览(65)
  • ubuntu安装、卸载docker

    一、卸载docker 1. 删除docker相关软件,及其安装时自动安装的所有包          sudo apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc 2. 删除docker其他没有没有卸载         dpkg -l | grep docker 3.卸载没有删除的docker相关插件         sudo apt-get autoremove docker-ce-

    2024年02月07日
    浏览(50)
  • 在Ubuntu 上安装 MySQL两种方式:在线方式和离线方式

    Ubuntu 是一款基于Linux操作系统的免费开源发行版,广受欢迎。它以稳定性、安全性和用户友好性而闻名,适用于桌面和服务器环境。Ubuntu提供了大量的软件包和应用程序,拥有庞大的社区支持和活跃的开发者社区。它的长期支持(LTS)版本获得5年的安全更新,为企业和个人提

    2024年02月04日
    浏览(53)
  • Ubuntu:离线安装docker

    简介 :在 Ubuntu 上离线安装 Docker 需要事先在有网络连接的设备上下载 Docker 安装包及其依赖项,然后将这些文件传输到目标 Ubuntu 设备上进行安装。 历史攻略: ubuntu卸载docker centos7.6:安装docker 离线安装 Docker 的步骤: 1、在有网络连接的设备上下载 Docker 安装包及依赖项 :

    2024年02月16日
    浏览(48)
  • ubuntu下docker卸载和重新安装

    卸载:步骤一:停止Docker服务 首先,我们需要停止正在运行的Docker服务。打开终端,执行以下命令: sudo systemctl stop docker 步骤二:删除Docker安装包 接下来,我们需要删除已经安装的Docker软件包。执行以下命令: sudo apt-get purge docker-ce docker-ce-cli containerd.io 步骤三:删除Docke

    2024年01月25日
    浏览(38)
  • Backend - Docker 离线安装(Ubuntu)

    目录 一、安装 docker 1. 下载docker离线包 2. 用Winscp打开桌面 3. 打开putty 4. 解压 5. 授权docker文件目录为可执行文件 6. 将docker文件夹复制到 /usr/bin 目录下 7. 查看版本 二、docker-compose 1. 下载docker-compose离线包 2.将下载好的离线包拖拽到服务器上 3. ls查看是否有x86_64文件包 4. 将

    2024年04月09日
    浏览(39)
  • Ubuntu20下的Docker的离线安装

    在实际项目中,经常遇到一些纯内网的环境,对于项目的部署来说就需要做到离线安装Docker,然后把项目的外网镜像从拷贝到内网进行部署。下面主要记录下如何离线安装Docker 1.下载Docker的离线安装包 Docker的离线安装需要用到containerd.io ,docker-ce-cli,docker-ce,从下面的网址下

    2024年02月01日
    浏览(38)
  • 在Ubuntu 22.04 LTS 上安装 MySQL两种方式:在线方式和离线方式

    Ubuntu 是一款基于Linux操作系统的免费开源发行版,广受欢迎。它以稳定性、安全性和用户友好性而闻名,适用于桌面和服务器环境。Ubuntu提供了大量的软件包和应用程序,拥有庞大的社区支持和活跃的开发者社区。它的长期支持(LTS)版本获得5年的安全更新,为企业和个人提

    2024年02月04日
    浏览(54)
  • ubuntu18.04安装nvidia驱动,3种方式图文详解+卸载教程

    笔记本类型 Ubuntu系统 显卡版本 联想拯救者Y7000 win10+Ubuntu18.04双系统 GTX1050Ti 重启电脑,开机前一直按Ctrl + F2进入BIOS界面,将secure boot设置为Disabled,因为secure boot会阻止第三方源安装的驱动,禁用不会带来多大隐患。 blacklist nouveau options nouveau modeset=0 没有输出结果,则表明禁

    2023年04月16日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包