Archon项目Docker容器构建与运行指南
2025-07-08 03:41:13作者:裘旻烁
概述
本文将详细介绍如何使用run_docker.py脚本构建和运行Archon项目的Docker容器。Archon是一个基于Docker容器化部署的项目,包含主应用容器和MCP(Mission Control Panel)容器两个核心组件。
准备工作
在开始之前,请确保您的系统满足以下要求:
- 已安装Docker引擎并正常运行
- 系统支持Docker命令行工具
- 已获取Archon项目的完整代码
脚本功能解析
run_docker.py脚本主要完成以下自动化任务:
- 检查Docker环境是否可用
- 构建MCP容器镜像
- 构建主Archon容器镜像
- 清理已存在的同名容器
- 启动新的Archon容器实例
详细执行流程
1. Docker环境检查
脚本首先会执行docker --version
命令来验证Docker是否已正确安装并配置在系统PATH中。如果检查失败,脚本会立即终止并提示错误信息。
2. 环境变量配置
脚本会自动检查项目根目录下的.env文件,如果存在则会将其作为容器的环境变量配置文件。这为容器运行时的参数配置提供了便利。
3. 容器镜像构建
脚本会依次构建两个Docker镜像:
- MCP容器镜像:在mcp目录下执行构建,标签为archon-mcp:latest
- 主Archon容器镜像:在项目根目录下执行构建,标签为archon:latest
构建过程中,脚本会实时输出构建日志,方便开发者跟踪构建进度和排查问题。
4. 容器清理
为避免端口冲突等问题,脚本会检查是否存在名为"archon-container"的容器实例。如果发现已有容器,脚本会:
- 检查容器运行状态
- 停止正在运行的容器
- 强制删除容器实例
5. 容器启动
构建完成后,脚本会以守护进程模式(-d)启动主Archon容器,并配置以下参数:
- 容器名称:archon-container
- 端口映射:
- 8501:8501 (Streamlit UI)
- 8100:8100 (MCP服务)
- 主机名解析:添加host.docker.internal到容器hosts文件
如果存在.env文件,其内容也会作为环境变量注入容器。
使用说明
成功启动后,您可以通过以下方式访问Archon服务:
- Streamlit UI:通过浏览器访问 http://localhost:8501
- MCP服务:在Streamlit UI的MCP标签页中操作
常见问题处理
- Docker命令执行失败:检查Docker服务是否正常运行,当前用户是否有执行Docker命令的权限
- 构建过程出错:检查网络连接是否正常,Docker构建上下文是否完整
- 端口冲突:确保本地8501和8100端口未被其他服务占用
- 容器启动失败:检查Docker日志获取详细错误信息
维护命令
- 停止容器:
docker stop archon-container
- 删除容器:
docker rm archon-container
- 查看容器日志:
docker logs archon-container
总结
run_docker.py脚本为Archon项目提供了完整的Docker容器化部署方案,自动化了从构建到运行的全过程,大大简化了开发者和用户的部署工作。通过本文的介绍,您应该已经掌握了使用该脚本部署Archon项目的方法。