Debian&Ubuntu 安装 Docker&Docker Compose 指南

在本文中,我们将详细介绍如何在 Debian 12 和 Ubuntu 24.04 系统上安装 Docker 和 Docker Compose。这个指南同样适用于 Debian 11、Ubuntu 20.04 和 Ubuntu 22.04 版本。

Docker 简介

Docker 是一种革命性的容器化技术,它彻底改变了软件的部署和运行方式。通过 Docker,开发者可以在隔离的环境中快速搭建和运行应用,无需担心环境配置问题。Docker 的核心优势包括:

  • 环境一致性:确保开发、测试和生产环境的一致性
  • 快速部署:大大减少了从开发到部署的时间
  • 资源效率:比传统虚拟机更加轻量和高效
  • 版本控制:便于管理应用的不同版本
  • 模块化:支持微服务架构,便于应用的拆分和组合

Docker Compose 简介

Docker Compose 是 Docker 生态系统中的一个重要工具,它极大地简化了多容器应用的管理和部署过程。使用 Docker Compose 的主要优势包括:

  • 简化配置:使用 YAML 文件定义整个应用栈
  • 一键部署:通过单个命令启动或关闭整个应用
  • 环境一致性:确保开发、测试和生产环境的配置一致
  • 服务间依赖管理:自动处理服务启动的顺序
  • 扩展性:轻松调整服务的容器数量

安装步骤

1. 准备工作

首先,确保以 root 用户身份登录。如果不是,可以使用以下命令切换:

sudo -i
# 或
su root

更新系统并安装必要的依赖:

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

2. 添加 Docker 官方源

根据系统选择相应的命令:

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

Ubuntu 系统

curl -sSL <https://download.docker.com/linux/ubuntu/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

对于国内用户,推荐使用清华大学的镜像源以提高下载速度:

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

Ubuntu 系统(清华源)

然后更新系统后即可安装 Docker CE 和 Docker Compose 插件:

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

3. 安装 Docker

现在我们可以安装 Docker 和相关组件了:

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

安装完成后,启动 Docker 服务并设置为开机自启:

systemctl start docker
systemctl enable docker

4. 验证安装

使用以下命令检查 Docker 是否安装成功:

docker version

如果安装成功,你将看到类似以下的输出:

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

Client: Docker Engine - Community
 Version:           27.3.1
 API version:       1.47
 Go version:        go1.22.7
 Git commit:        ce12230
 Built:             Fri Sep 20 11:41:19 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          27.3.1
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.22.7
  Git commit:       41ca978
  Built:            Fri Sep 20 11:41:19 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.22
  GitCommit:        7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
 runc:
  Version:          1.1.14
  GitCommit:        v1.1.14-0-g2c9f560
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

安装 Docker Compose

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

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

root@debian ~ # docker-compose version
Docker Compose version v2.21.0

修改 Docker 配置

Docker 的配置文件位于 /etc/docker/daemon.json。可以通过

vim /etc/docker/daemon.json

来修改这个文件来自定义 Docker 的行为。以下是一些常用的配置选项:

{
    "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,
    "registry-mirrors": [
        "<https://docker.mirrors.ustc.edu.cn>",
        "<https://hub-mirror.c.163.com>"
    ]
}

配置说明:

  • 限制每个容器的日志文件最大为 20MB,最多保留 3 个文件
  • 启用 IPv6 支持,并设置自定义的 IPv6 地址段
  • 开启实验性功能
  • 使用中国科技大学和网易的 Docker 镜像源 (国内用户可选)

5. 应用配置

修改配置文件后,需要重启 Docker 服务使配置生效:

systemctl restart docker

重启后,可以使用 docker info 命令验证配置是否生效。

文末附加内容
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇