python3 nodejs docker图像

时间:2016-08-24 12:57:19

标签: docker dockerfile

我正在使用django角项目。我正在使用python3所以我想要一个容器,其中将安装节点6.4.0和python3。我的docker中有节点:6.4.0和python:3.4图像。

现在我想要另一张名为py3node的图片。 我这样想:

  1. Dockerfile:

    FROM node:6.4.0
    FROM python:3.4
    
  2. docker build -t py3node

    output:
    
    Sending build context to Docker daemon 8.192 kB
    Step 1 : FROM node:6.4.0
    ---> 800da22d0e7b
    Step 2 : FROM python:3.4
    ---> 93bc8e41eb8c
    Successfully built 93bc8e41eb8c
    
  3. 然后我跑:

    docker run -it py3node /bin/bash
    
    root@092724f514:/# node -v
    
    output:
    bash: node: command not found
    

    但python3有效。为什么节点:6.4.0不起作用?

3 个答案:

答案 0 :(得分:3)

您无法合并这样的图像并期望它能够正常工作! (Using multiple FROM directives is hazardous and should probably be removed)。

你要么想要使用通用图像(ubuntu?alpine?)并安装python和node,要么开始使用django友好图像here maybe?。我要看看其他django + docker项目是如何做的。

答案 1 :(得分:1)

您必须选择一个映像并将所有内容安装在该映像之上。在您的情况下,我会这样做:

Dockerfile

FROM node:6.4.0
RUN apt-get update || : && apt-get install python -y
RUN apt-get install python3-pip -y

答案 2 :(得分:0)

您可以参考:node:7.9-alpine unable to build package due python is not installed

您需要做的就是将以下内容添加到DockerFile

RUN apk --no-cache add g++ gcc libgcc libstdc++ linux-headers make python
RUN npm install --quiet node-gyp -g