中文
€EUR
容器

Docker

兼容 Infrawire 安装程序

通过 Docker 官方 apt 源安装 Docker Engine 与 Compose,交付即可运行容器,无需再做环境准备

最低配置
  • 1 GB 内存
开发者
Docker, Inc.
版本
最新稳定版
许可证
Apache 2.0
系统
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

Docker 简介

Docker 是一个容器引擎:它把应用及其依赖打包成镜像,再在宿主机内核之上以隔离的方式运行。开发者用它让本地和生产环境保持一致;小团队则用它在一台机器上同时托管多个服务,而不必担心各服务的依赖互相冲突。

服务器交付时,您的 Linux VPS(Debian 12、Debian 13、Ubuntu 22.04 或 24.04,以及带有下文所述限制的 Ubuntu 20.04)上已经通过 Docker 官方 apt 软件源安装好 Docker Engine。docker-ce、docker-ce-cli、containerd.io、docker-buildx-plugin 和 docker-compose-plugin 这几个软件包均已就位,docker 与 containerd 服务也已设为开机自启。

安装前,软件源的签名密钥会按指纹校验。安装脚本最后会运行一个 hello-world 容器,用来确认守护进程能够正常响应。之后服务器完全由您掌控:默认不会把任何用户加入 docker 组,也不会替您部署任何应用。

用 Docker 可以做什么

  • Docker 官方 apt 软件源

    软件包来自 download.docker.com,签名密钥的指纹会经过校验。后续更新与系统的其他软件一样,通过 apt 完成。

  • 内置 Compose 与 Buildx

    Compose 插件通过 docker compose(中间没有连字符)使用,Buildx 用于构建镜像。首次登录后就可以部署多服务的 stack。

  • 预设日志轮转

    如果 /etc/docker/daemon.json 不存在,安装脚本会写入该文件,使用 json-file 驱动,每个文件 10 MB,保留 3 个文件。容器日志不会悄悄把磁盘写满。

  • 自动清除冲突软件包

    安装前会移除 docker.io、podman-docker、containerd、runc 等非官方软件包,避免不同来源的版本混用而导致守护进程无法启动。

  • root 等效权限由您掌控

    docker 组等同于 root 访问权限,因此不会有任何账户被默认加入该组。该授予给谁,由您自己决定。

  • 清晰的安装日志

    每一步都记录在 /var/log/docker-install.log 中,文件 /var/lib/docker-install.done 则表示安装脚本已完整执行完毕。

Docker 快速上手

从下单到上线,只需几分钟。

  1. 1

    订购 VPS 并勾选 Docker

    选择位于巴黎或法兰克福的 Linux VPS,系统选 Debian 12、Debian 13、Ubuntu 22.04 或 24.04,然后在订购表单的“应用”标签页中勾选 Docker。

  2. 2

    连接服务器并检查安装结果

    服务器交付后,用收到的登录信息通过 SSH 连接。安装在首次启动时执行:如果标记文件还不存在,请稍等片刻,并查看安装日志。

    Bash
    ssh USER@SERVER_IP cat /var/lib/docker-install.done tail -n 20 /var/log/docker-install.log
  3. 3

    运行第一个容器

    先确认版本,再启动一个测试用的 Web 服务器。端口只发布在 127.0.0.1 上,所以测试期间不会暴露到互联网。

    Bash
    docker --version && docker compose version docker run -d --name web -p 127.0.0.1:8080:80 nginx curl -I http://127.0.0.1:8080
  4. 4

    上线前做好安全加固

    在服务前面放一个反向代理(Caddy、Traefik 或 Nginx),由它为 YOUR_DOMAIN 提供 HTTPS,并且只向互联网开放 80 和 443 端口。其余端口请绑定在 127.0.0.1 上,因为 Docker 发布的端口会绕过 ufw。最后别忘了备份数据卷和 compose 文件。

    Bash
    docker volume ls docker compose up -d

Docker 的使用场景

  • 托管多个相互隔离的服务

    PostgreSQL 数据库、Web 应用和监控工具各自运行在独立的容器里,统一写在一个 compose.yaml 文件中。您可以单独更新或重启其中任何一个。

  • 部署自托管应用

    许多开源项目(n8n、Nextcloud、Gitea、Uptime Kuma 等)都提供 Docker 镜像和 Compose 示例。这台 VPS 无需任何额外准备,就能直接部署它们。

  • 构建与测试镜像

    借助 Buildx,您可以在一台独立的远程机器上构建镜像,不占用本地工作机的资源。这对轻量的 CI 流水线或集成测试很有用。

  • 用预发布环境复现生产

    再准备一台 Docker 版本和 Compose 文件都相同的 VPS,就能得到一个接近生产的验收环境,管理成本也比较低。

Docker 常见问题

安装脚本会从 Docker 官方 apt 软件源安装 docker-ce、docker-ce-cli、containerd.io、docker-buildx-plugin 和 docker-compose-plugin,并把 docker 与 containerd 服务设为开机自启。Compose v2 的命令是 docker compose,而不是 docker-compose。

深入了解 Docker

防火墙与已发布的端口

这是最常见的坑。用 -p 8080:80 发布端口时,Docker 会写入自己的 iptables 规则,流量会先于 ufw 或 firewalld 的规则被处理,所以 ufw deny 8080 起不到任何作用。

有两种可靠的做法:一是把端口绑定到本地接口(-p 127.0.0.1:8080:80),再通过反向代理对外提供服务;二是在 DOCKER-USER 链中过滤,Docker 会在应用自身规则之前先查这条链。第一种更简单,大多数情况下已经够用。

docker 组与 sudo

加入 docker 组等于拥有这台机器的 root 权限,因为容器可以挂载宿主机的文件系统。安装脚本不会把任何人加入该组。如果您想用非特权账户操作,请自行添加,然后重新登录。

Bash
sudo usermod -aG docker USER

容器日志

交付时写入的 /etc/docker/daemon.json 把每个容器的日志限制为 3 个 10 MB 的文件。该文件只在原本不存在时才会创建。如需修改这些数值,编辑文件后重启守护进程即可。新设置只对重启之后创建的容器生效。

Bash
sudo systemctl restart docker

更新

Docker 软件源声明在 /etc/apt/sources.list.d/docker.sources 中,因此新版本会随常规的 apt 更新一起到来。请把更新安排在可以接受守护进程重启的时间,因为在未启用 live-restore 的情况下,重启可能会中断您的容器。

Bash
sudo apt update && sudo apt install --only-upgrade docker-ce docker-ce-cli containerd.io

Ubuntu 20.04

Docker 已不再正式支持 Ubuntu 20.04。如果 Docker 软件源仍然提供该版本,安装脚本还是会尝试安装,并在日志中写入一条警告。生产服务器请优先选择 Ubuntu 22.04、Ubuntu 24.04、Debian 12 或 Debian 13,这些版本都在支持范围内。

备份

镜像可以重新下载,数据却不能。请备份命名数据卷、挂载的目录,以及 compose.yaml 文件和它们所用的环境变量。对于数据库,建议使用逻辑导出(pg_dump、mysqldump),而不要直接热拷贝数据卷。

及时了解最新的优惠、折扣和特别促销活动。

查看促销

我们使用Cookie

我们使用分析性Cookie来改善您在我们网站上的体验。数据不会出售给第三方。了解更多请查看我们的 隐私政策.