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

时间:2016-12-02 15:39:39

标签: python docker docker-compose

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

但是我收到了这个错误

  

rpc错误:代码= 2 desc = oci运行时错误:exec失败:exec:“python”:在$ PATH中找不到可执行文件

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

1 个答案:

答案 0 :(得分:0)

rethinkdb图像基于debian:jessie image:

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的路径。