我如何在Docker容器中仅设置python 2.7?

丽拉

我有节点应用程序,在一个用例中,我从节点使用调用python脚本python-shell我正在尝试在Docker上设置此应用,而我的Dockerfile看起来像这样

FROM debian:latest
# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# update the repository sources list
# and install dependencies
RUN apt-get update \
&& apt-get install -y curl \
&& apt-get -y autoclean
# nvm environment variables
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 10.15.3
# install nvm
# https://github.com/creationix/nvm#install-script
RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash
# install node and npm
RUN source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
# add node and npm to path so the commands are available
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
# confirm installation
RUN node -v
RUN npm -v
RUN apt-get -y install python2.7
COPY package.json .
RUN npm install
COPY . .
CMD ["npm","run","start"]

在构建并运行此容器后,当我尝试调用从节点调用python脚本的用例时,出现此错误。

null
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: spawn /usr/lib/python2.7 EACCES
    at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
    at onErrorNT (internal/child_process.js:415:16)
    at process._tickCallback (internal/process/next_tick.js:63:19)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
rash

您可以使用python基本图片

FROM PYTHON:2.7

此基本映像已预先配置了python,您无需单独安装python。希望能帮助到你。

这是可用图像列表

如需快速参考,请检查https://blog.realkinetic.com/building-minimal-docker-containers-for-python-applications-37d0272c52f3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在CentOS 7的Docker容器中设置本地syslog-ng?

如何在Windows 7中运行python 2和3?

如何在Windows 7中运行python 2和3?

如何在Docker容器中安装/添加JDK 7

如何在CentOS7 Docker容器中安装python-pip

如何在 Spring Boot 应用程序中设置 mina2 hl7Codec

我如何在Windows7中将maraDNS设置为2个区域的转发DNS服务器:Intranet和默认区域(又名“其他”)

如何在 eclipse neon 2 中运行 java 7 项目?

如何在XCode 7中添加libxml2.dylib

在go lang中,为什么是7?断言(5 ^ 2 == 7)

从Windows 7开始的boot2docker

如何在Windows 7中设置python路径

如何在docker容器的tomcat 7中部署war文件

在Windows 7中无法删除文件(2)

如何在Windows 7上安装Psycopg2

如何在Docker容器中将python2别名为python3?

如何在Angular 7中将HTTP请求超时增加2分钟以上?

如何在Angular 7中导入jsPDF v2

如何在角度2,4,6,7中减小vendor.js的大小?

如何在Java 7中将ArrayList转换为2D数组

如何在 CentOS7 中的 Virtualmin 上启用/安装 HTTP/2

如何在angular 7打字稿中合并2个数组

如何在由dracut为centOS 7创建的initramfs映像中执行tpm2_nvread?

如何在角度7的ng2-google-chart图表中插入数组数据

Framework 7 V2:如何在android设备后退按钮中关闭弹出覆盖

如何在Angular 7(或2+)中编写文件上传方法的单元测试

如何在Java7中处理2个不同版本的HttpServletRequest?

不是素数仅包含2,3,5,7优化

如何在Symfony 2服务容器中设置Doctrine MongoDB存储库