Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

评论: 0 浏览: 1620 ***新更新时间: 3个月前

目录

    • 🍁安装docker
      • 🌲1、环境准备
      • 🌲2、安装docker Engine
        • 🧊1、卸载旧版、任何冲突的包
        • 🧊2、使用存储库安装
        • 🧊3、安装 Docker 包。
        • 🧊4、查询是否安装成功
        • 🧊5、运行`hello-world`镜像
        • 🧊6、查看下载的镜像
        • 🌲3、卸载docker Engine
        • 🥦配置加速器
        • 🥦docker Engine 和 docker Desktop的区别

          🍁安装docker

          🌲1、环境准备

          1、使用Linux、可以使用虚拟机或者阿里云服务器(需要会一点Linux基础)

          2、查看使用的环境信息:cat /etc/os-release

          # 查看系统内核
          beihai@beihai-pc:~/桌面$ uname -r
          6.2.0-39-generic
          # 查看系统版本
          beihai@beihai-pc:~/桌面$ cat /etc/os-release
          PRETTY_NAME="Ubuntu 22.04.3 LTS"
          NAME="Ubuntu"
          VERSION_ID="22.04"
          VERSION="22.04.3 LTS (Jammy Jellyfish)"
          VERSION_CODENAME=jammy
          ID=ubuntu
          ID_LIKE=debian
          HOME_URL="https://www.ubuntu.com/"
          SUPPORT_URL="https://help.ubuntu.com/"
          BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
          PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
          UBUNTU_CODENAME=jammy
          

          🌲2、安装docker Engine

          !!!我们这里步骤安装的是docker Engine,不是docker Desktop【关于两者区别,文末会拓展】!!!

          根据官方文档提示安装对应系统的docker:https://docs.docker.com/

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          根据官方文档,得出安装步骤【Ubuntu 22.04.3 LTS版本、不同版本根据上图寻找不同操作文档】:

          🧊1、卸载旧版、任何冲突的包

          for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

          beihai@beihai-pc:~/桌面$ for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
          [sudo] beihai 的密码: 
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 docker.io 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 docker-doc 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 docker-compose 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 docker-compose-v2 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 podman-docker 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 containerd 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          正在读取软件包列表... 完成
          正在分析软件包的依赖关系树... 完成
          正在读取状态信息... 完成                 
          软件包 runc 未安装,所以不会被卸载
          升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 280 个软件包未被升级。
          
          🧊2、使用存储库安装
          # 添加Docker的官方GPG密钥:
          sudo apt-get update
          sudo apt-get install ca-certificates curl
          sudo install -m 0755 -d /etc/apt/keyrings
          sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
          sudo chmod a+r /etc/apt/keyrings/docker.asc
          #将存储库添加到 Apt源(这里使用默认镜像【国外镜像】):
          echo \
            "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
            $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
            sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
          sudo apt-get update
          
          😎代码指令解析:
          # 1、更新 apt 包索引(更新本地包索引,使系统能够获取***新的包信息,包括***新的版本和依赖关系。)
          sudo apt-get update
          #2、安装必要的软件包
          #(安装 ca-certificates 和 curl。ca-certificates 包含了系统的受信任根证书,用于验证 SSL 证书。curl 是一个命令行工具,用于从 URL 获取数据。)
          sudo apt-get install ca-certificates curl
          #3、创建 /etc/apt/keyrings 目录
          #(创建 /etc/apt/keyrings 目录,用于存放 GPG 密钥文件。-m 0755 指定了新目录的权限,表示目录所有者有读、写、执行权限,组和其他用户有读和执行权限。-d 表示创建目录。)
          sudo install -m 0755 -d /etc/apt/keyrings
          #4、下载 Docker 官方 GPG 密钥(使用 curl 从 Docker 官方网站下载 GPG 密钥文件,并将其保存到 /etc/apt/keyrings/docker.asc。选项 -fsSL 的含义是:
          # -f:失败时不输出错误信息。
          # -s:静默模式,不输出进度信息。
          # -S:静默模式下显示错误信息。
          # -L:如果目标是一个重定向 URL,则跟随重定向。)
          sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
          #5、修改密钥文件的权限
          #(将密钥文件 /etc/apt/keyrings/docker.asc 的权限设置为所有用户可读 (a+r),确保 apt 软件包管理器能够读取这个文件。)
          sudo chmod a+r /etc/apt/keyrings/docker.asc
          #6、添加 Docker 存储库
          echo \
            "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
            $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
            sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
          #这个命令分为几部分:
          # ---1
          # echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable":
          # echo 用于输出一行文本,包含存储库的定义。
          # deb 表示这是一个二进制软件包存储库。
          # [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] 指定了存储库的架构和用于签名的 GPG 密钥文件。
          # arch=$(dpkg --print-architecture) 动态获取系统的架构(例如 amd64)。
          # signed-by=/etc/apt/keyrings/docker.asc 指定了用于验证该存储库的软件包的 GPG 密钥文件。
          # https://download.docker.com/linux/ubuntu 是存储库的 URL。
          # $(. /etc/os-release && echo "$VERSION_CODENAME") 动态获取当前操作系统的版本代号(例如 focal for Ubuntu 20.04)。这是通过读取 /etc/os-release 文件来实现的。
          #stable 指定了存储库的分支(稳定版)。
          #---2
          # | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null:
          # | 将前面的 echo 命令的输出传递给 tee 命令。
          #sudo tee /etc/apt/sources.list.d/docker.list 以 sudo 权限将输出写入到 /etc/apt/sources.list.d/docker.list 文件中。
          # > /dev/null 表示将 tee 命令的标准输出重定向到 /dev/null,避免在终端中显示冗余信息。
          #7、更新本地包索引
          sudo apt-get update
          #这条命令会更新本地的包索引,包含刚刚添加的 Docker 存储库中的包信息。这样系统就知道可以从 Docker 存储库中安装哪些软件包以及它们的***新版本。
          
          🧊3、安装 Docker 包。

          sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

          (docker-ce 社区版、docker-ee 企业版)

          🧊4、查询是否安装成功
          命令: docker version
          beihai@beihai-pc:~/桌面$ docker version
          Client: Docker Engine - Community
           Version:           26.1.3
           API version:       1.45
           Go version:        go1.21.10
           Git commit:        b72abbb
           Built:             Thu May 16 08:33:29 2024
           OS/Arch:           linux/amd64
           Context:           default
          permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/version": dial unix /var/run/docker.sock: connect: permission denied
          
          🧊5、运行hello-world镜像
          命令: sudo docker run hello-world
          

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          🧊6、查看下载的镜像
          命令: docker images
          beihai@beihai-pc:~/桌面$ docker images
          REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
          hello-world   latest    d2c94e258dcb   13 months ago   13.3kB
          

          !!! 如果查看镜像失败

          报:permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head “http://%2Fvar%2Frun%2Fdocker.sock/_ping”: dial unix /var/run/docker.sock: connect: permission denied

          是因为当前用户没有权限访问 Docker 守护进程的 Unix 套接字。你可以通过以下方法和步骤解决这个问题:

          方法一:使用 sudo 运行,命令:sudo docker images

          方法二:

          1. 添加当前用户到 Docker 组。 sudo usermod -aG docker $USER
          2. 重新启动计算机,以使组更改生效。

            如果不想注销或重启,可以通过以下命令启动一个新的 shell 会话:newgrp docker【但是这样是只对当前会话有效,所以为了长远发展,还是通过重新启动计算机方法】

          ***此,docker Engine安装成功!

          🌲3、卸载docker Engine

          1、卸载 Docker Engine、CLI、containerd 和 Docker Compose 包:

          sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

          2、主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,请执行以下操作:

          sudo rm -rf /var/lib/docker

          sudo rm -rf /var/lib/containerd

          3、您必须手动删除任何已编辑的配置文件。

          🥦配置加速器

          我们前面默认的镜像拉取地址是国外的,速度比较慢。现在想配置国内镜像(阿里云镜像)来提高docker镜像的拉取速度。

          1、前往阿里云容器镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances 获取加速镜像

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          创建成功后,退回。点击【镜像工具 -》 镜像加速器】

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          根据自己服务器型号,自己复制对应的命令

          Docker:一、安装与卸载、配置阿里云加速器(Ubuntu)

          2、 执行上面复制的命令,配置加速器

          命令:
          sudo mkdir -p /etc/docker
          sudo tee /etc/docker/daemon.json  "registry-mirrors": ["https://

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

点击启动AI问答
Draggable Icon