You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Dokploy部署Docker容器无法拉取latest镜像问题求助

问题与解决方案:Dokploy部署无法拉取Docker latest镜像

问题详情

使用Dokploy部署Docker容器时,部署latest版本失败,核心原因是无法从GitLab仓库拉取最新的latest标签镜像。

我的Docker Compose配置

version: '3.9'

services:
  backend:
    image: registry.gitlab.com/my-repo/my-code:latest
    container_name: backend
    ports:
      - 4000
    environment:
      NODE_ENV: development 
    restart: always

已尝试的操作

  • 点击Dokploy面板的Deploy/Rebuild按钮
  • 在Dokploy中先停止再启动服务
  • 在Dokploy高级设置中执行命令:
    • docker pull registry.gitlab.com/my-repo/my-code:latest && docker compose -p ecom-backend-z9r6tk -f docker-compose.yml up -d --build --remove-orphans
    • docker compose -p ecom-backend-z9r6tk -f docker-compose.yml up -d --build --remove-orphans --pull

临时可行但非自动化的方法

  • 每次发布新版本时,将镜像标签从latest改为指定编号,同步修改Docker Compose文件(有效但繁琐)
  • SSH登录服务器手动拉取最新镜像(无法自动化)

自动化解决方案

1. 开启Dokploy强制拉取镜像选项

在Dokploy的项目部署设置中,找到强制拉取镜像开关并启用。该设置会让Dokploy在每次部署时跳过本地镜像缓存,强制从远程仓库拉取最新的latest镜像,彻底避免缓存导致的旧镜像问题。

2. 在Docker Compose中添加拉取策略

修改Docker Compose文件,为服务配置pull_policy: always,确保Docker启动时始终拉取最新镜像:

version: '3.9'

services:
  backend:
    image: registry.gitlab.com/my-repo/my-code:latest
    container_name: backend
    ports:
      - 4000
    environment:
      NODE_ENV: development 
    restart: always
    pull_policy: always  # 强制拉取最新镜像

保存配置后重新部署即可生效。

3. 配置GitLab CI/CD自动触发Dokploy部署

利用GitLab的CI/CD流水线,在镜像推送完成后自动调用Dokploy API触发部署,实现全自动化:

  1. 在Dokploy项目设置中生成部署API密钥
  2. 在GitLab项目的CI/CD变量中添加DOKPLOY_API_URL和DOKPLOY_API_KEY
  3. 在.gitlab-ci.yml中添加部署阶段:
deploy:
  stage: deploy
  image: curlimages/curl:latest
  script:
    - curl -X POST "${DOKPLOY_API_URL}/deploy/${PROJECT_ID}" -H "Authorization: Bearer ${DOKPLOY_API_KEY}"
  only:
    - main  # 仅在主分支推送镜像时触发

4. 验证Dokploy的仓库访问权限

确保Dokploy服务器已配置GitLab私有仓库的访问凭证:

  • 在Dokploy的仓库管理页面添加GitLab个人访问令牌(需拥有read_registry权限)
  • 通过Dokploy的终端功能执行docker pull registry.gitlab.com/my-repo/my-code:latest,验证能否正常拉取镜像

内容的提问来源于stack exchange,提问作者Ankit Halder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 22:16:14