gpt4 book ai didi

python - 在给定的 docker-compose 容器内执行 Python 脚本

转载 作者:行者123 更新时间:2023-11-30 22:46:13 25 4
gpt4 key购买 nike

我制作了一个小 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com