我制作了一个小 python 脚本来在 RethinkDB 中创建数据库和一些表
但现在我尝试在使用 docker-compose
启动的 rethink
容器中启动这个 python 脚本。
这是我的 docker-compose.yml 重新思考容器配置
# Rethink DB
rethink:
image: rethinkdb:latest
container_name: rethink
ports:
- 58080:8080
- 58015:28015
- 59015:29015
我尝试在启动容器后执行脚本
docker exec -it rethink python src/app/db-install.py
但我收到此错误
rpc error: code = 2 desc = oci runtime error: exec failed: exec: "python": executable file not found in $PATH
在我的容器中找不到 Python。是否可以使用 docker-compose 或 docker exec 在给定容器内执行 python 脚本?
最佳答案
首先查明容器
中是否有python
可执行文件:
docker exec -it rethink which python
如果存在,则使用上一步中which
命令提供的绝对路径
:
docker exec -it rethink /absolute/path/to/python src/app/db-install.py
如果没有,您可以将 python 脚本
转换为 bash 脚本
,这样您就可以运行它,而无需额外的可执行文件
和库
.
或者您可以创建一个dockerfile
,使用基础镜像
,然后安装python
。
docker 文件:
FROM rethinkdb:latest
RUN apt-get update && apt-get install -y python
Docker 撰写文件:
rethink:
build : .
container_name: rethink
ports:
- 58080:8080
- 58015:28015
- 59015:29015
关于python - 在给定的 docker-compose 容器内执行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40935895/