使用docker运行一个简单的程序,其中用到了PyExecJS包,本机运行,没有遇到过什么问题,但部署到docker环境上后,部署成功,但是在执行过程中报错 ”Could not find an available JavaScript runtime“, 原因是在linux环境下,没有JS环境会报该错。由此可见, execjs在linux环境中需要安装JS环境 。
之前只pull了python的镜像,现在就需要将安装node的语句写在Dockerfile中:
# 将官方 Python3.6 运行时用作父镜像
FROM python:3.6
# 安装node,保证环境中有JS环境
RUN wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
RUN xz -d node-v10.15.3-linux-x64.tar.xz
RUN tar -xvf node-v10.15.3-linux-x64.tar
# 添加软链接
RUN ln -s /node-v10.15.3-linux-x64/bin/node /usr/local/bin/node
RUN ln -s /node-v10.15.3-linux-x64/bin/npm /usr/local/bin/npm
# node -v 可验证node是否安装成功