Docker部署ArgoCD:从零开始

准备工作:确认 Docker 环境

在开始 Docker 部署 ArgoCD 之前,请确保你的服务器或本地机器已经安装了 Docker 并可以正常执行 docker pull
如果你是 Windows 或 macOS 用户,建议先安装 Docker Desktop;
Linux 用户直接通过包管理器安装即可。

执行下面命令检查版本,确保 Docker Engine 版本不低于 20.10:

docker --version

另外,ArgoCD 默认需要使用 443 端口,如果该端口已被占用,可以先停掉冲突进程,或者后面通过 -p 参数映射其他端口。

拉取镜像并启动 ArgoCD 容器

ArgoCD 官方提供了 quay.io/argoproj/argocd 镜像,我们用 Docker 直接运行一个单节点服务,适合学习与测试。

打开终端,执行以下命令拉取最新版镜像:

docker pull quay.io/argoproj/argocd:v2.12.0

拉取完成后,启动容器并映射端口:

docker run -d \
  --name argocd-server \
  -p 8080:8080 \
  -p 443:443 \
  quay.io/argoproj/argocd:v2.12.0

参数说明

  • -d:后台运行
  • --name:容器名称
  • -p 8080:8080:将容器的 API 和 UI 端口 8080 映射到宿主机
  • -p 443:443:将 HTTPS 端口映射出来(可选)

如果服务器有防火墙,记得放行 8080 和 443 端口。
阿里云、腾讯云等云厂商需在安全组中添加规则。

获取初始密码并登录 UI

容器启动后,ArgoCD 会生成一个随机初始密码。
通过以下命令查看:

docker exec argocd-server argocd admin initial-password

执行后你会看到类似 xxxxxxxx 的一串字符。
复制它。

现在打开浏览器,访问 http://你的服务器IP:8080
如果在本机,用 http://localhost:8080

注意:ArgoCD 默认使用自签名 HTTPS 证书,所以部分浏览器会提示不安全。
点击“高级” -> “继续前往”即可。
之后会跳转到登录页面。

默认用户名是 admin,密码就是刚才获取的那串随机字符串。
登录后,建议立即修改密码:点击右上角用户图标 -> 设置 -> 账户 -> 修改密码。

高频问题与避坑说明

1. 容器无法启动 / 端口被占用

如果看到 Error response from daemon: driver failed programming external connectivity...,说明 443 或 8080 端口已被占用。
可以改用其他端口启动:

docker run -d --name argocd-server -p 8443:8080 quay.io/argoproj/argocd:v2.12.0

之后访问 http://IP:8443 即可。

2. 获取初始密码时报错 "argocd: not found"

这是因为容器内的 argocd 二进制路径问题。
可以用更稳妥的方法直接查看密码文件:

docker exec argocd-server cat /etc/argocd/initial-admin-secret

3. ArgoCD 总是重定向到 HTTPS

如果你只用 HTTP 访问,可以修改容器内的配置。
但对于测试环境,忽略告警即可,不影响使用。

4. 无法连接 Git 仓库

ArgoCD 容器默认无法直接访问公网 Git 仓库?
实际上容器内已有网络,只要宿主机能连通外网,ArgoCD 就可以拉取代码。
如果经常连接超时,可以尝试重启容器或更换镜像源。

验证 GitOps 功能是否正常

登录 ArgoCD 后,我们来做一个最简单的验证:创建一个空应用。
点击页面上的“+ NEW APP”,填写:

  • Application Name:随便,例如 test-app
  • Project:保持 default
  • Sync Policy:选择 Automatic(可选)
  • Repository URL:使用公开的测试仓库,比如 https://github.com/argoproj/argocd-example-apps.git
  • Path:填 guestbook(这个示例应用在仓库的 guestbook 目录下)
  • Cluster URL:默认 https://kubernetes.default.svc(代表本地集群,这里实际上没有集群,但 ArgoCD 会尝试连接,会出现警告,不影响 UI 功能验证)
  • Namespacedefault

点击“CREATE”,然后点击应用名称进入详情页。
即使无法真正部署(因为没有 K8s 集群),你也能看到 ArgoCD 成功解析了仓库内容,说明 Docker 环境下的 ArgoCD 服务运行正常。

如果你有现成的 Kubernetes 环境(比如 Minikube 或 kind),可以把 ArgoCD 的 --insecure 参数加上,然后真正尝试同步应用。
本文仅验证 Docker 部署本身是否成功。

总结

通过以上步骤,你已经完成了 Docker 部署 ArgoCD 的全流程。
整个过程不依赖 Kubernetes,适合零基础用户理解 ArgoCD 的基本概念和操作界面。
后续如果需要投入生产,建议迁移到真正的 K8s 集群,并配置持久化数据和 TLS 证书。
遇到任何报错,优先检查端口映射、密码文件是否存在以及 Docker 版本,绝大多数问题都可以通过重新拉取镜像或更换启动参数解决。

分享到:
上一篇
Linux服务器网卡性能调优教程
下一篇
服务器美国CN2服务器对比:美国CN2服务器对比
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意