1.检测docker是否安装

查看版本号

docker --version

没有安装会显示Command 'docker' not found,后续的是几种安装方式的提示

ubuntu@VM-0-7-ubuntu:/opt/xsdoi/apps/hoj-frontend$ docker --version
Command 'docker' not found, but can be installed with:
sudo snap install docker         # version 28.1.1+1, or
sudo apt  install docker.io      # version 28.2.2-0ubuntu1~24.04.1
sudo apt  install podman-docker  # version 4.9.3+ds1-1ubuntu0.2
See 'snap info docker' for additional versions.

2.安装Docker的三种方式

没安装Docker使用docker --version后,提示了三种安装方式,分别讲解

1.sudo snap install docker
  • Snap 是 Ubuntu 自家的软件打包方式,类似把软件连同依赖一起封装好。
  • 优点:安装快、更新频繁,版本比较新。
  • 缺点:企业生产环境不推荐,因为 Snap 容器化运行方式有点特殊,文件路径和权限可能和标准 Docker 不完全一样,某些企业级配置(比如挂载宿主卷、网络模式)会有兼容性问题。
2.sudo apt install docker.io
  • Apt 是 Ubuntu 官方仓库的软件管理器,docker.io 就是仓库里打包好的 Docker。
  • 优点:稳定,兼容性好,适合生产环境。
  • 缺点:版本可能稍旧,最新功能会慢一点。
  • 注意:安装后需要配置 Docker 用户组,否则每次运行 docker 都要加 sudo。
3.sudo apt install podman-docker
  • Podman 是 Docker 的替代品,安装这个包后,你可以用 docker 命令操作 Podman。
  • 优点:不需要守护进程,安全性高。
  • 缺点:企业环境中很多脚本、CI/CD 流程都是基于标准 Docker 写的,完全替换可能会踩坑。
  • 总结:适合追求安全和轻量的场景,但不是大厂标准做法。
4.总结:

推荐第二种sudo apt install docker.io的方式

3.安装docker

1.安装并检查

执行完安装命令sudo apt install docker.io后再查看版本docker --version,成功安装则会看到具体版本号

ubuntu@VM-0-7-ubuntu:/opt/xsdoi/apps/hoj-frontend$ docker --version
Docker version 28.2.2, build 28.2.2-0ubuntu1~24.04.1
2.测试是否能用

测试 Docker 能否正常运行容器

sudo docker run --rm hello-world

如果输出 Hello from Docker! 的信息,说明 Docker 真正能用。

如果失败了先接着往下走,配置国内 Docker 镜像加速器之后再尝试

3.可选:配置非 root 用户直接用 docker 命令
sudo groupadd docker       # 如果不存在 docker 组
sudo usermod -aG docker ubuntu

exit
docker info                # 不加 sudo 也能运行就成功了

4.配置国内 Docker 镜像加速器

1、本质上就是创建守护进程的配置文件daemon.json
ubuntu@VM-0-7-ubuntu:/opt/xsdoi/apps/hoj-frontend$ cd /etc/docker
ubuntu@VM-0-7-ubuntu:/etc/docker$ ls
ubuntu@VM-0-7-ubuntu:/etc/docker$ sudo vim daemon.json
# 填写daemon.json的内容,内容可复制下面的,然后按esc后输入:wq保存并退出
ubuntu@VM-0-7-ubuntu:/etc/docker$ ls
daemon.json
ubuntu@VM-0-7-ubuntu:/etc/docker$ cat daemon.json
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com/"
  ]
}
2.重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
3.尝试拉取镜像并运行
sudo docker run --rm hello-world

更多推荐