2016-09-05 13 views
0

私たちはnode.jsウェブアプリケーションを持っています。ドッカーでサーバーにデプロイしました。 ノードバージョン0.10.25で正常に動作します。しかし、今、私はこれを実現するためにノードの最新バージョン6.5.0ドッカーと一緒にnode.js Webアプリケーションをデプロイ

上で実行することを決めた私は今すべてがその下の行を除いて細かい行ってきました

FROM ubuntu:14.04 
RUN echo 'deb http://security.ubuntu.com/ubuntu trusty-security main' | sudo tee -a /etc/apt/sources.list 
RUN sudo apt-get update 
RUN sudo apt-get install linux-libc-dev curl git-core krb5-multidev libkrb5-dev -y 
RUN sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 
RUN sudo apt-get install nodejs -y 
RUN sudo ln -sf /usr/bin/nodejs /usr/bin/node 
RUN ["/bin/bash", "-c", "node -v"] 
RUN sudo npm cache clean 
RUN sudo npm install -g bower -y 
RUN sudo npm install -g gulp -y 
#RUN sudo npm install -g node-sass 
#RUN sudo npm install -g eslint -y 
#RUN sudo npm install -g htmllint -y 
RUN cd /root; git clone -b masterclone https://consultancy:[email protected]/newapp/web.git 
RUN cd /root/web; sudo npm install; sudo bower install --allow-root; gulp clean-build-app-prod 
EXPOSE 8000 
CMD cd /root/web; NODE_ENV=production node server.js 

以下のように見ているドッカファイルを修正しました私は問題を引き起こすと思います。

"The command '/bin/sh -c cd /root/web; sudo npm install; sudo bower install --allow-root; gulp clean-build-app-prod' returned a non-zero code: 1" 

答えて

1

公式ノードイメージを使用してください。ここに、サンプルファイル。

FROM node:6.5 

# Enviroment variables 
ENV NPM_CONFIG_LOGLEVEL warn 
ENV USER node 
ENV HOMEDIR /data 

# add user node and change dir working dir 
RUN useradd -ms /bin/bash ${USER} 
RUN mkdir -p ${HOMEDIR} 
WORKDIR ${HOMEDIR} 

# install all dependencies 
COPY package.json ./ 
RUN npm install --production 

# add node content 
COPY . . 

USER node 
EXPOSE 8000 

CMD ["npm", "start"] 
0

official NodeJS imageからファイルを削除するのは簡単でしょう。 v6.5では、FROM ubuntu:14.04FROM node:6.5になります。

また、RUN cd /root/webを繰り返し実行する代わりに、WORKDIR /root/webを使用して作業ディレクトリを変更することができます。