ubuntu docker离线安装docker(.deb包方式)(成功)(附卸载方法) |
您所在的位置:网站首页 › deb卸载和安装 › ubuntu docker离线安装docker(.deb包方式)(成功)(附卸载方法) |
参考文章:Install Docker Engine on Ubuntu 文章目录 安装步骤下载安装包拷贝到目标主机并执行安装命令 验证拉取运行容器测试build dockerfile测试持久运行容器测试主机重启后,docker各服务是否正常自启 卸载方法附:各安装包作用说明(以及插件)1. `containerd.io__.deb`2. `docker-ce__.deb`3. `docker-ce-cli__.deb`4. `docker-buildx-plugin__.deb`5. `docker-compose-plugin__.deb` 附:`docker-ce-rootless-extras__.deb`和`docker-scan-plugin__.deb `是什么?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: 选择pool(官网让选这的): 目录说明: edge/:包含一些实验性或开发中的软件包,可能不稳定或不适合生产环境使用。nightly/:包含每日构建的软件包,用于测试和开发目的。pool/:存放软件包的目录。stable/:包含稳定版本的软件包,适合生产环境使用。test/:包含一些测试相关的软件包。文件说明: InRelease:包含软件包的元数据和数字签名,用于验证软件包的完整性和真实性。Release:包含软件包的元数据,如软件包列表、版本信息等。Release.gpg:包含对Release文件的数字签名,用于验证Release文件的真实性。选择stable: 选择amd64(根据系统来,我的目前是amd64): 将下列文件全下载下来: containerd.io__.deb docker-ce__.deb docker-ce-cli__.deb docker-buildx-plugin__.deb docker-compose-plugin__.deb关于下载什么版本的,我就根据我ubuntu20.04虚拟机上之前用apt install docker.io的来吧: 这是我们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这也奇怪,列表中文件名有~符号,下下来文件又没了。。。。 把下好的文件拷贝到目标虚拟机中: 然后根据官网提供的方法安装各安装包: 我这为了方便和可维护,直接做了个脚本: #!/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把脚本搞到目录下,并且运行: 成功了! 测试build dockerfile也没有问题,那那个buildx应该是build跨平台镜像用的: 重启后: 看起来应该是没有什么问题,跟用apt install docker.io效果一样 卸载方法可以用dpkg -r 命令来卸载包, 我写了个卸载脚本,执行脚本可以一键卸载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"执行结果: 下面是Docker相关软件包的安装文件,各自的作用如下: 1. containerd.io__.deb这是Docker容器运行时(containerd)的软件包。Containerd是一个开源的容器运行时,用于管理和运行容器。 2. docker-ce__.deb这是Docker社区版(Community Edition)的软件包。Docker CE是免费的Docker版本,适用于个人和小型团队使用。 3. docker-ce-cli__.deb这是Docker社区版的命令行界面(CLI)的软件包。它提供了与Docker守护进程进行交互的命令行工具。 4. docker-buildx-plugin__.deb这是Docker Buildx插件的软件包。Buildx是一个用于构建多平台镜像的工具,它可以同时构建多个平台的镜像,并支持交叉编译。 5. docker-compose-plugin__.deb这是Docker Compose插件的软件包。Docker Compose是一个用于定义和运行多容器应用的工具,它使用一个YAML文件来配置应用的服务、网络和卷等。 附:docker-ce-rootless-extras__.deb和docker-scan-plugin__.deb 是什么?https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/ 下载文件列表里有这两个,不知道是啥? docker-ce-rootless-extras__.deb 是Docker社区版(Community Edition)的非root用户额外组件的软件包。它包含了一些用于在非root用户下运行Docker的额外工具和插件。这些组件允许非特权用户在没有root权限的情况下使用Docker。 docker-scan-plugin__.deb 是Docker的扫描插件的软件包。这个插件允许用户对Docker镜像进行安全扫描,以检测其中的漏洞和安全问题。它可以帮助用户在构建和部署容器时提前发现潜在的安全风险。 这两个软件包是Docker的附加组件,可以根据需要选择安装。docker-ce-rootless-extras适用于非root用户使用Docker的场景,而docker-scan-plugin适用于进行Docker镜像的安全扫描。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |