如何为Docker部署的ClearML配置清理服务Worker?
在Docker部署的ClearML环境中配置默认队列Worker的方法
前提准备
从ClearML Web UI获取API凭证:
- 登录Web UI(默认地址
http://localhost:8080),点击右上角个人头像 → Settings → Workspaces → 选择目标工作区(默认是default),复制页面中的Access Key和Secret Key。
方法一:临时运行ClearML Agent(适用于测试)
直接通过docker run启动agent,监听Cleanup Service对应的默认队列clearml.cleanup:
docker run -it --rm \ -e CLEARML_API_HOST=http://localhost:8008 \ -e CLEARML_WEB_HOST=http://localhost:8080 \ -e CLEARML_FILES_HOST=http://localhost:8081 \ -e CLEARML_API_ACCESS_KEY=<你的Access Key> \ -e CLEARML_API_SECRET_KEY=<你的Secret Key> \ allegroai/clearml-agent:latest daemon --queue clearml.cleanup
注:如果你的ClearML服务使用自定义端口或域名,替换上述命令中的地址为实际值。
方法二:将Agent加入Docker Compose(持久化运行)
修改现有的docker-compose.yml,添加一个clearml-agent-cleanup服务,确保agent随ClearML集群一起启动:
clearml-agent-cleanup: image: allegroai/clearml-agent:latest environment: - CLEARML_API_HOST=http://apiserver:8008 - CLEARML_WEB_HOST=http://webserver:8080 - CLEARML_FILES_HOST=http://fileserver:8081 - CLEARML_API_ACCESS_KEY=<你的Access Key> - CLEARML_API_SECRET_KEY=<你的Secret Key> command: daemon --queue clearml.cleanup depends_on: - apiserver - webserver - fileserver restart: unless-stopped
添加完成后,执行以下命令更新并启动服务:
docker-compose up -d
验证配置
登录ClearML Web UI,左侧菜单进入Queues页面,找到clearml.cleanup队列,查看Worker列表,若能看到刚启动的agent,则配置成功,Cleanup Service的任务会自动从pending状态切换为running。
关于本地非Docker运行未解决的说明
本地非Docker环境运行agent时,可能因以下原因失败:
- 未正确配置ClearML服务地址:本地agent默认连接
http://localhost,但Docker部署的服务处于独立网络,需指定容器网络内的地址或宿主机映射的地址。 - API凭证配置错误:未使用Docker部署环境中对应工作区的有效凭证,导致agent无法完成身份验证。
内容的提问来源于stack exchange,提问作者Shimi
相关产品推荐
相关产品推荐

