• Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程


    Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程

    本文将指导如何在 Debian 12 和 Ubuntu 22.04 下安装 Docker 以及 Docker Compose。

    PS:本文同时适用于 Debian 11 以及 Ubuntu 20.04

    什么是 Docker?
    Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。

    什么是 Docker Compose?
    传统模式下运维人员需要运行 docker run 来启动各种容器,一旦容器过多,就无法一次性记住所有的运行参数和命令,这时候我们可以使用 Docker Compose 来解决这个问题。

    Docker Compose 是一个用于在单个主机上定义和运行多个 Docker 容器的工具。它使用 YAML 文件来配置应用程序的服务,然后使用一个命令就可以创建并启动所有服务。使用 Docker Compose 可以大大简化 Docker 容器的管理和部署,特别是对于具有多个互相依赖的容器的复杂应用。

    使用官方源安装 Docker
    以下操作需要在 root 用户下完成,请使用 sudo -i 或 su root 切换到 root 用户进行操作。

    首先,安装一些必要的软件包:

    apt update
    apt upgrade -y
    apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
    
    • 1
    • 2
    • 3

    然后加入 Docker 的 GPG 公钥和 apt 源:

    Debian

    curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
    
    
    • 1
    • 2
    • 3

    Ubuntu

    curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
    
    
    • 1
    • 2
    • 3

    国内机器可以用清华 TUNA 的国内源:

    Debian

    curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
    
    
    • 1
    • 2
    • 3

    Ubuntu

    curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
    
    
    • 1
    • 2
    • 3

    然后更新系统后即可安装 Docker CE:

    apt update
    apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
    • 1
    • 2

    此时可以使用 docker version 命令检查是否安装成功:

    root@debian ~ # docker version
    Client: Docker Engine - Community
     Version:           24.0.2
     API version:       1.43
     Go version:        go1.20.4
     Git commit:        cb74dfc
     Built:             Thu May 25 21:52:17 2023
     OS/Arch:           linux/amd64
     Context:           default
    
    Server: Docker Engine - Community
     Engine:
      Version:          24.0.2
      API version:      1.43 (minimum version 1.12)
      Go version:       go1.20.4
      Git commit:       659604f
      Built:            Thu May 25 21:52:17 2023
      OS/Arch:          linux/amd64
      Experimental:     true
     containerd:
      Version:          1.6.21
      GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
     runc:
      Version:          1.1.7
      GitCommit:        v1.1.7-0-g860f061
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    如果需要某个特定用户可以用 Docker rootless 模式运行 Docker,那么可以把这个用户也加入 docker 组,比如我们把 www-data 用户加进去:

    apt install docker-ce-rootless-extras
    sudo usermod -aG docker www-data
    
    • 1
    • 2

    安装 Docker Compose
    因为我们已经安装了 docker-compose-plugin,所以 Docker 目前已经自带 docker compose 命令,基本上可以替代 docker-compose:

    root@debian ~ # docker compose version
    Docker Compose version v2.18.1
    
    • 1
    • 2

    如果某些镜像或命令不兼容,则我们还可以单独安装 Docker Compose:
    我们可以使用 Docker 官方发布的 Github 直接安装最新版本:

    curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    
    • 1
    • 2

    此时可以使用 docker-compose version 命令检查是否安装成功:

    root@debian ~ # docker-compose version
    Docker Compose version v2.18.1
    
    • 1
    • 2

    修改 Docker 配置
    以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘 (泪的教训):

    cat > /etc/docker/daemon.json << EOF
    {
        "log-driver": "json-file",
        "log-opts": {
            "max-size": "20m",
            "max-file": "3"
        },
        "ipv6": true,
        "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
        "experimental":true,
        "ip6tables":true
    }
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    然后重启 Docker 服务:

    systemctl restart docker
    
    • 1

    好了,我们已经安装好了 Docker 和 Docker Compose,然后就可以开始愉快的安装各种软件,限于篇幅,我们不再赘述,今后慢慢介绍安装各种 Docker 软件的方法。

  • 相关阅读:
    WebSocket
    在 Flutter 中自定义画笔 Painter
    【详解】Java中的queue和deque、ArrayDeque
    Java并发编程的艺术笔记-Java并发编程基础
    洛谷P2345 MooFest G
    【计算机操作系统】编程实现FCFS
    FL Studio2024官方破解中文版本下载
    [yolo系列:yolov7添加可变形卷积Deformable Conv V2]
    MyBatisPlus快速入门
    一文1800字解读性能指标与性能分析
  • 原文地址:https://blog.csdn.net/qq_43329216/article/details/134543375