如何将已构建完成的Rasa项目进行Docker化?
已完成构建的Rasa项目Docker化操作方案
1. 项目前置校验
- 进入本地Rasa项目根目录,执行
rasa --version记录项目当前使用的Rasa版本,后续镜像版本需与其完全匹配,避免出现兼容性问题 - 本地依次执行
rasa train、rasa run、rasa run actions(存在自定义动作时执行),确认项目功能、依赖无异常 - 导出项目Python环境依赖:执行
pip freeze > requirements.txt,如果自定义动作有额外依赖,需同步补充到该文件中
2. 新增Docker相关配置文件
所有文件均放在项目根目录下:
2.1 编写.dockerignore文件
过滤不需要打包进镜像的冗余文件:
__pycache__ *.pyc *.pyo *.pyd .env .git .gitignore venv logs tests models/*.tar.gz.old
2.2 编写Rasa主服务Dockerfile
将下方<实际Rasa版本>替换为第一步记录的版本号即可:
FROM rasa/rasa:<实际Rasa版本> USER root WORKDIR /app COPY . /app RUN pip install --no-cache-dir -r requirements.txt USER 1001 CMD ["run", "--enable-api", "--cors", "*"]
2.3 存在自定义动作时,补充Dockerfile.actions
FROM rasa/rasa-sdk:<实际Rasa版本> WORKDIR /app COPY actions /app/actions COPY requirements.txt /app USER root RUN pip install --no-cache-dir -r requirements.txt USER 1001
3. 本地镜像构建与验证
- 构建Rasa主服务镜像:
docker build -t rasa-custom:v1 . - 构建动作服务镜像(按需执行):
docker build -f Dockerfile.actions -t rasa-actions:v1 . - 本地启动两个容器验证功能正常后,将新增的3个Docker相关配置文件、requirements.txt提交到GitHub仓库即可,后续任意环境拉取代码后都可直接执行镜像构建流程
内容的提问来源于stack exchange,提问作者Anjali
相关产品推荐
相关产品推荐

