ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Dokploy 部署基础:macOS、Ubuntu 与 Windows 下 Docker 的完整安装与容器化运行指南

Dokploy 部署基础:macOS、Ubuntu 与 Windows 下 Docker 的完整安装与容器化运行指南 后端前端云原生DevOps容器编排运维【免费下载链接】dokployOpen Source Alternative to Vercel, Netlify and Heroku.项目地址https://gitcode.com/GitHub_Trending/do/dokploy点击查看免费下载Docker 是 Dokploy 这套自托管 PaaSPlatform as a Service平台的底层运行基石应用构建、数据库容器、Traefik 路由乃至多节点 Docker Swarm 集群都建立在其之上。本篇指南以仓库 GUIDES.md 为骨架完整覆盖 macOS、Ubuntu、Windows 三大平台的 Docker 安装步骤并结合仓库源码Dockerfile、dockerode 封装、Compose 解析与多平台镜像构建脚本讲解 Dokploy 在运行时究竟如何使用 Docker帮助你在正式部署 Dokploy 之前先把容器环境准备到位。为什么 Dokploy 离不开 DockerDokploy 定位为 Vercel、Netlify、Heroku 的开源自托管替代方案核心能力是一条命令部署应用与数据库。从仓库的 README.md 可以确认它支持任意类型应用Node.js、PHP、Python、Go、Ruby 等、MySQL/PostgreSQL/MongoDB/MariaDB/libsql/Redis 数据库、数据库自动备份、Docker Compose 编排、多节点 Swarm 集群、Traefik 路由与实时监控。这些能力的共同底层执行单元都是 Docker 容器。Dokploy 官方镜像本身就构建在 Docker 生态之上。查看根目录 Dockerfile 可以发现镜像构建阶段会依次执行调用get.docker.com安装 Docker固定版本28.5.2与 rclone安装 Nixpacks1.41.0与 Railpack0.15.4两类无 Dockerfile 自动构建引擎复制 buildpacks 官方的pack二进制0.39.1支持 Cloud Native Buildpacks 构建方式。也就是说Dokploy 自身运行在容器中同时容器内再跑容器来调度用户的应用与数据库因此宿主机上 Docker 环境是否就绪直接决定 Dokploy 能否正常工作。这也是 GUIDES.md 把 Docker 安装列为第一份指南的原因。安装前准备明确你的部署场景在动手之前先确认两类典型场景在 VPS 上自托管 Dokploy这是 README 推荐的正式使用方式运行curl -sSL https://dokploy.com/install.sh | bash即可自动完成安装。安装脚本要求服务器已经具备可用的 Docker 环境因此本文的安装步骤是前置条件。在本地开发机调试macOS 与 Windows 使用 Docker Desktop 最为方便Linux 使用 Docker Engine Compose 插件。需要留意的是Dokploy 支持通过 SSH 协议管理远程服务器上的 Docker详见下文多服务器与远程 Docker小节因此即便你的控制台跑在 macOS 上也仍然需要保证远程 Linux 服务器装好 Docker。macOS使用 Docker DesktopmacOS 上没有原生的 Docker Engine官方推荐的桌面方案是 Docker Desktop。参照 GUIDES.md 的步骤访问 Docker 官网的 Docker Desktop for Mac 产品页下载 Docker Desktop 安装程序选择与芯片架构匹配的版本Apple Silicon 选 arm64Intel 选 amd64双击下载的.dmg文件将其挂载将 Docker 图标拖入 Applications 文件夹完成安装从应用程序Applications中启动 Docker Desktop如需熟悉操作界面可跟随首次启动时的 onboarding 引导教程。启动后建议在Settings → Resources中确认内存与 CPU 配额因为 Dokploy 在本地开发场景会同时拉起多个容器应用 数据库 Traefik默认配额可能偏紧。Ubuntu使用 apt 安装 Docker EngineLinux 服务器尤其是 Ubuntu VPS是 Dokploy 最常见的部署环境。GUIDES.md 提供了基于官方 apt 仓库的完整安装流程逐段说明如下。第一步卸载可能存在的旧版本for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done这条命令一次性清理系统里可能预装的旧 Docker 组件如 Ubuntu 自带源里的docker.io、docker-compose、podman-docker、containerd、runc。它们往往版本落后或与官方源冲突卸载后可避免后续安装时出现包冲突。第二步更新索引并安装前置依赖sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyringsca-certificates用于校验 HTTPS 下载的证书curl用于拉取 GPG 密钥/etc/apt/keyrings目录用于存放密钥文件。第三步添加 Docker 官方 GPG 密钥sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod ar /etc/apt/keyrings/docker.asc密钥被保存为docker.asc新版 apt 支持 ASCII-armored 密钥chmod ar确保所有用户可读apt 校验软件包签名时会用到它。第四步将官方仓库写入 apt 源列表echo \ deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release echo ${UBUNTU_CODENAME:-$VERSION_CODENAME}) stable | \ sudo tee /etc/apt/sources.list.d/docker.list /dev/null这条命令动态生成了仓库地址$(dpkg --print-architecture)自动识别 amd64/arm64 架构$(. /etc/os-release echo ${UBUNTU_CODENAME:-$VERSION_CODENAME})自动识别系统代号如noble、jammy因此同一段命令可复用于不同 Ubuntu 版本无需手工改版本号。stable表示使用稳定发布通道。第五步安装 Docker Engine 及插件sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin安装清单含义软件包作用docker-ceDocker 引擎社区版主程序docker-ce-cli命令行客户端dockercontainerd.io容器运行时containerddocker-buildx-pluginBuildx 构建插件支持多平台镜像构建docker-compose-plugin新版docker compose子命令取代旧版docker-compose其中docker-compose-plugin对 Dokploy 尤其重要——仓库在 README 中明确将原生支持 Docker Compose列为核心功能UI 侧有 compose 文件编辑器后端有完整的 Compose 解析与部署服务且配套了 compose 测试套件 与 镜像拉取测试说明 Compose 是 Dokploy 的一条一等公民能力。提示生产服务器上安装完成后通常还需要将当前用户加入docker组sudo usermod -aG docker $USER并重新登录以便免 sudo 执行 docker 命令。WindowsWSL2 Docker DesktopWindows 上运行 Docker 依赖 WSL2 虚拟化。参照 GUIDES.md 的步骤启用 WSL2如果尚未启用先在 PowerShell管理员执行wsl --install完成内核与默认发行版的安装访问 Docker 官网的 Docker Desktop for Windows 页面下载安装程序并运行按提示完成安装安装向导会询问是否使用 WSL2 后端确认勾选这是 Docker Desktop 默认且推荐的模式从开始菜单启动 Docker Desktop。启动后在终端执行wsl --version可确认 WSL 内核版本docker version可确认客户端与引擎均已就绪。若 Dokploy 部署目标仍是 Linux VPSWindows 上的 Docker Desktop 只承担管理端角色核心能力同样依赖远程服务器的 Docker 环境。安装验证确认 Docker 环境可用安装完成后建议按以下顺序验证无论哪个平台都适用# 查看客户端与服务端版本含 compose 插件信息 docker version # 确认 Compose 子命令可用 docker compose version # 拉取并运行 hello-world 验证完整链路 docker run hello-worlddocker version会分别显示 Client 与 Server 两段信息Server 段出现即代表引擎守护进程正常。docker compose version用于确认上文中docker-compose-plugin已生效这是 Dokploy Compose 部署路径的宿主侧依赖。最后用hello-world走一遍拉镜像 → 创建容器 → 运行 → 退出的完整流程确认网络与运行时均无问题。日常维护层面可以从仓库源码看到 Dokploy 会调用哪些 Docker 原生命令。在 packages/server/src/utils/docker/utils.ts 中清理例程分别执行docker container prune --force # 清理停止状态的容器 docker builder prune --all --force # 清理所有构建缓存需要说明的是源码注释明确提示卷volume的清理必须由用户手工执行自动清理时一个处于停止状态的容器可能仍在占用卷直接删除存在数据风险。这一设计体现了 Dokploy 对宿主 Docker 资源管理的谨慎态度也提醒你在宿主侧同样按此原则操作。从 Docker 到 Dokploy容器环境如何被真正使用理解了安装步骤再看 Dokploy 在运行期如何使用 Docker能让安装配置更有针对性。Docker Engine 的编程式调用dockerodeDokploy 的后端并不直接 shell 调用 docker 命令而是通过 Node.js 的dockerode库apps/dokploy/package.json 中锁定版本4.0.2以编程方式驱动 Docker API。应用、数据库、监控等几乎所有容器操作都走这条链路例如 packages/server/src/utils/databases/postgres.ts 创建 PostgreSQL 容器、packages/server/src/utils/builders/index.ts 构建应用镜像时均通过getRemoteDocker(serverId)拿到 Docker 客户端实例。多服务器与远程 DockerSSH 直连Dokploy 的Multi Server特性允许把应用部署到远程服务器。此时客户端通过 SSH 协议直连远程 Docker 守护进程见 packages/server/src/utils/servers/remote-docker.ts读取服务器记录的 IP、端口、用户名与 SSH 私钥构造Dockerode({ host, port, username, protocol: ssh, sshOptions })。这意味着远程服务器的 Docker 只需开放 SSH 通道即可被 Dokploy 接管无需额外开放 Docker 的 TCP 端口——这也是生产环境推荐的安全做法。多平台镜像buildx 与 docker build仓库自身镜像的发布流程apps/dokploy/docker/push.sh会创建 buildx builder并一次性构建linux/amd64,linux/arm64双架构镜像后推送到 registry。本地开发时也可用 apps/dokploy/docker/feat.sh 仅构建当前架构的 feature 镜像。这解释了为什么安装阶段要装docker-buildx-plugin没有 buildx多架构构建与缓存加速都无法工作。常见问题与注意事项Docker 与 Dokploy 的版本关系Dokploy 官方镜像内嵌 Docker28.5.2Dockerfile但这不要求你手工安装完全一致的版本宿主 Docker 保持官方源中的最新稳定版即可。真正硬性的版本要求是 Compose 插件与 buildx 插件存在。非 root 用户权限安装后若docker命令报权限错误说明当前用户不在docker组中按上文提示执行usermod -aG docker并重新登录即可。VPS 场景的安全基线不要让 Docker 守护进程直接暴露公网 TCP 端口Dokploy 的远程管理走 SSH 通道见上文remote-docker.ts这是更安全的选择。架构匹配Apple Silicon Mac 与 ARM VPS 都要选择 arm64 版本软件Ubuntu 源地址中的$(dpkg --print-architecture)会自动完成架构识别无需手工干预。资源规划Dokploy 一个项目往往包含应用 数据库 Traefik 多个容器请为 Docker Desktop 或 VPS 预留充足的 CPU 与内存并在运行监控面板出现资源告警时优先排查宿主侧配额。完成以上安装与验证后Docker 环境即满足 Dokploy 的部署前提。接下来只需在 VPS 上执行 README 提供的一键安装命令或按官方文档完成初始化即可把仓库中看到的应用部署、数据库管理、Compose 编排与多节点集群能力一一落地。赞分享后端前端云原生DevOps容器编排运维【免费下载链接】dokployOpen Source Alternative to Vercel, Netlify and Heroku.项目地址https://gitcode.com/GitHub_Trending/do/dokploy点击查看免费下载相关推荐终极指南如何快速部署Terminalizer容器化方案并录制炫酷终端动画终极指南如何快速部署Terminalizer容器化方案并录制炫酷终端动画 想要在Docker容器中轻松录制和生成炫酷的终端动画吗Terminalizer容器开发工具CLI如何在Docker容器中运行macOS系统完整部署指南如何在Docker容器中运行macOS系统完整部署指南 想要在非苹果设备上体验macOS系统或者需要一个快速可复制的开发测试环境现在通过Docker容器技虚拟化如何快速解决Kohya_SS训练进度条卡在0步的终极指南如何快速解决Kohya_SS训练进度条卡在0步的终极指南 Kohya_SS是一款强大的Stable Diffusion模型训练工具但在训练过程中许多用户经常人工智能微调LoRA深度学习计算机视觉AI 应用上一篇chroma.js颜色操作API大全darken、saturate、alpha、tint、shade一网打尽下一篇CANN/asc-devkit Matmul UnitFlag示例创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表