2016-11-29 3 views
0

Python3とNode v4.4.7を持つドッカーイメージを作成しようとしました。これをPythonとNodeの両方のバージョンが必要なプロジェクトのコンテナとして使用できるようにしました。Nodev4.4.7とPython3でDockerコンテナを作成する

print "Hello, Python!" 

そして、それはおよそrequirements.txtを持っていない文句:これだけは持っていhello.py :私が最初にそれを実行するためのPythonスクリプトを持っていない不満を試みた

# 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のファイルを追加しましたファイルが空に追加されましたrequirements.txt

docker build -t isaacweathersnet/sampledockerimage .を実行すると、ノードのインストール中にsnafusが 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

+1

とうまく働きました。代わりにRUNする必要がありますか? http://stackoverflow.com/questions/21553353/what-is-the-difference-between-cmd-and-entrypoint-in-a-dockerfile – user2915097

+0

お読みください。それはおそらくそれでした。 Pythonといくつかの改造版の別のバージョンを使用して終了し、それは働いた。 –

答えて

0

PythonとNodeを持つGithubのソリューションが見つかりました。しかし、Pythonの3+との運は、あなたが最後のものだけが使用されます、あなたのDockerfileで2 CMDを持っている2.7 https://github.com/nsdont/python-node/blob/master/Dockerfile

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"] 
関連する問題