在前面的话

在用了这么多部署方式后,感觉最方便的部署方式还是使用docker来部署方便,配置简单,环境一致,性能可靠,生态丰富。简直棒极了。 但是,在使用之前还是要安装docker基础环境。本篇文章来简单介绍一下Docker在Ubunt中如何安装。 经过测试这个安装步骤支持Ubuntu 22.04和24.04最小化安装的系统。其它的环境没有做过测试,暂不清楚是否支持


一、更新系统并安装必要依赖


# 更新系统基础依赖,保持系统为最新状态
sudo apt update
sudo apt upgrade -y

# 安装docker用到的基础依赖环境
sudo apt install -y ca-certificates curl gnupg lsb-release software-properties-common

二、安装 Docker

1. 添加 Docker 官方 GPG 密钥

添加GPG保证安装的docker是官方版本

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

2. 添加 Docker APT 仓库

这里添加的是docker官方仓库,如果在国内,配置上有可能访问不到。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. 安装 Docker Engine

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

注意:Ubuntu 24.04 默认不再包含 docker-compose(Python 版本),而是推荐使用 docker compose(作为 docker-compose-plugin 提供的子命令)。


三、验证安装

检查 Docker 版本

docker --version

检查 Docker Compose(插件形式)

docker compose version

注意命令是 docker compose(中间有空格),不是 docker-compose(连字符)。如果你确实需要旧版 docker-compose(独立二进制),可额外安装,但通常不推荐。


四、(可选)将当前用户加入 docker 组,避免每次使用 sudo

sudo usermod -aG docker $USER

然后 注销并重新登录 或执行:

newgrp docker

之后即可无需 sudo 运行 dockerdocker compose 命令。


五、设置 Docker 开机自启(通常默认已启用)

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

到此docker和docker compose命令安装完成。

六、无法拉取镜像的问题

当然最后还有一个问题,就是你在使用docker拉取镜像的时候会发现,镜像死活拉取不下来。这时候需要用到 “魔法” ——改个文件。用下面的命令

sudo mkdir /etc/docker
sudo vim /etc/docker/daemon.json

/etc/docker/daemon.json文件中添加如下内容:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.baidubce.com",
    "http://hub-mirror.c.163.com",
    "https://docker.nju.edu.cn",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://docker.linkedbus.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}

文件保存以后,执行如下命令,在docker中应用配置。

sudo systemctl daeom-reload
sudo systemctl restart docker

这样大多数拉取镜像的问题就解决了。(但是不保证什么时候就没有用了,如果需要添加新的镜像加速器,可以在这个文件里重新应用配置就可以了)