我做了一个小的python脚本来在RethinkDB中创建一个数据库和一些表

但是现在我试图在用rethink启动的docker-compose容器内启动此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

但是我得到这个错误



在我的容器中找不到Python。是否可以使用docker-composedocker exec在给定容器内执行python脚本?

最佳答案

rethinkdb镜像基于debian:jessie镜像:

https://github.com/rethinkdb/rethinkdb-dockerfiles/blob/da98484fc73485fe7780546903d01dcbcd931673/jessie/2.3.5/Dockerfile

debian:jessie镜像未安装python。

因此,您将需要创建自己的Dockerfile,例如:

FROM rethinkdb:latest
RUN apt-get update && apt-get install -y python

然后更改您的docker-compose:
# Rethink DB
rethink:
  build : .
  container_name: rethink
  ports:
    - 58080:8080
    - 58015:28015
    - 59015:29015
build : .是您的Dockerfile的路径。

10-06 15:42
查看更多