首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Nodev4.4.7和Python3创建Docker容器

使用Nodev4.4.7和Python3创建Docker容器
EN

Stack Overflow用户
提问于 2016-11-30 01:54:29
回答 2查看 2K关注 0票数 1

尝试创建一个包含Python3和Nodev4.4.7的docker镜像,以便我可以将其用作我的项目的容器,该项目同时需要Python和该版本的Node.

代码语言:javascript
复制
# Pull base image.
FROM python:3-onbuild

CMD [ "python", "./hello.py" ]
# Install Node.js
RUN \
cd /tmp && \
wget http://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz && \
tar xvzf node-v4.4.7.tar.gz && \
rm -f node-v4.4.7.tar.gz && \
cd node-v* && \
./configure && \
CXX="g++ -Wno-unused-local-typedefs" make && \
CXX="g++ -Wno-unused-local-typedefs" make install && \
cd /tmp && \
rm -rf /tmp/node-v* && \
npm install -g npm && \
print '\n# Node.js\nexport PATH="node_modules/.bin:$PATH"' >>   /root/.bashrc

# Define working directory.
WORKDIR /data

# Define default command.
CMD ["bash"]

当我第一次尝试它的时候,抱怨没有运行python脚本,所以添加了一个基本的python文件:hello.py,它只有以下内容:

代码语言:javascript
复制
print "Hello, Python!"

然后它会抱怨没有requirements.txt文件,因此添加了一个空的requirements.txt

现在,在使用node-v4.4.0/benchmark/arrays/zero-int.js File "./configure", line 446 ''' ^ SyntaxError: Missing parentheses in call to 'print' The command '/bin/sh -c cd /tmp && wget http://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz && tar xvzf node-v4.4.7.tar.gz && rm -f node-v4.4.7.tar.gz && cd node-v* && ./configure && CXX="g++ -Wno-unused-local-typedefs" make && CXX="g++ -Wno-unused-local-typedefs" make install && cd /tmp && rm -rf /tmp/node-v* && npm install -g npm && print '\n# Node.js\nexport PATH="node_modules/.bin:$PATH"' >> /root/.bashrc' returned a non-zero code: 1安装节点的过程中,当我运行docker build -t isaacweathersnet/sampledockerimage .时,会出现混乱

EN

回答 2

Stack Overflow用户

发布于 2016-11-30 04:20:04

在拥有Python和Node的Github上找到了解决方案。在Python 3+上不走运,但在2.7 https://github.com/nsdont/python-node/blob/master/Dockerfile上工作得很好

代码语言:javascript
复制
FROM python:2.7

RUN \
cd /tmp && \
wget http://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz && \
tar xvzf node-v4.4.7.tar.gz && \
rm -f node-v4.4.7.tar.gz && \
cd node-v* && \
./configure && \
CXX="g++ -Wno-unused-local-typedefs" make && \
CXX="g++ -Wno-unused-local-typedefs" make install && \
cd /tmp && \
rm -rf /tmp/node-v* && \
npm install -g npm && \
echo -e '\n# Node.js\nexport PATH="node_modules/.bin:$PATH"' >> /root/.bashrc

# Define working directory.
WORKDIR /data

# Define default command.
CMD ["bash"]
票数 1
EN

Stack Overflow用户

发布于 2018-11-24 20:11:18

nodejs-pythonpython-nodejs (构建在nodejy-python之上)。这是值得一看的。

python-nodejs提供Node 10.xnpm 6.xyarn stablePython latestpip latestpipenv latest。使用的版本应该根据您的版本需求进行调整。使用Dockerfile作为基础并调整RUN部分

代码语言:javascript
复制
RUN \
  echo "deb https://deb.nodesource.com/node_10.x stretch main" > /etc/apt/sources.list.d/nodesource.list && \
  wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
  echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list && \
  wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
  apt-get update && \
  apt-get install -yqq nodejs yarn && \
  pip install -U pip && pip install pipenv && \
  npm i -g npm@^6 && \
rm -rf /var/lib/apt/lists/*

添加到您需要的Node版本。可以删除yarn (nmp的依赖项管理替代方案)部分(如果您需要使用yarn)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40872544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档