A. 背景描述
- 在断网环境下配置RagFlow遇到了下面的问题
requests.exceptions.SSLError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000)')))
-
找到了解决方法:
Issues · infiniflow/ragflow -
需求修改Docker镜像内的Python代码,而非Github的源码
B. 具体操作
- 方式1: 通过命令行修改
- 方式2: VSCode-Docker插件修改
- 视频18:45 >>> 如何使用docker和vscode快速搭建开发环境_哔哩哔哩_bilibili
- 视频26:00 >>> 极致工作流!用VScode远程组件武装你的Docker~!_哔哩哔哩_bilibili
C. 通用操作
在 RHEL 系统上,进入 Docker 环境并修改 Docker 容器内的 Python 代码,可以按以下步骤操作:
1. 列出运行中的 Docker 容器
首先,使用以下命令列出当前正在运行的 Docker 容器:
docker ps
这会显示容器的 ID 和名称,找出你想进入的容器的 ID 或名称。
2. 进入 Docker 容器
使用 docker exec
命令进入容器的 shell。假设容器的名称是 my_container
,可以使用以下命令进入容器:
docker exec -it my_container /bin/bash
或者,如果容器使用的是 sh
而非 bash
,可以使用:
docker exec -it my_container /bin/sh
3. 定位到 Python 代码所在目录
进入容器后,使用 cd
命令导航到存放 Python 代码的目录。例如,如果代码位于 /app
目录:
cd /app
4. 修改 Python 代码
可以使用容器内的编辑器(例如 vi
或 nano
,如果安装了的话)修改代码。如果没有安装编辑器,可以使用以下命令安装 nano
:
apt-get update
apt-get install nano
然后使用 nano
编辑代码:
nano your_script.py
5. 保存并退出
完成编辑后,保存文件并退出编辑器。对于 nano
,按 Ctrl + X
,然后按 Y
保存修改并退出。
6. 退出容器
修改完成后,可以使用以下命令退出容器:
exit
7. 重新启动容器
如果需要,可以通过以下命令重新启动容器,使修改生效:
docker restart my_container
其他方法:
如果你希望在本地编辑代码并将其同步到容器中,可以通过挂载本地目录来运行容器:
docker run -v /path/to/local/code:/path/to/container/code -it my_container /bin/bash
这将会把本地目录 /path/to/local/code
挂载到容器内的 /path/to/container/code
目录,使你可以直接在本地修改代码,容器内的代码会自动更新。
希望这些步骤能帮助你在 Docker 容器内编辑和修改 Python 代码!如果有其他问题,随时告诉我!