【问题标题】:Deploying node.js web app along with docker与 docker 一起部署 node.js Web 应用程序
【发布时间】:2017-01-13 02:16:20
【问题描述】:

我们有一个 node.js 网络应用程序。我们已经使用 docker 将它部署在服务器上。 它适用于节点版本 0.10.25。但现在我决定让它在最新版本的节点 6.5.0 上运行

为了实现这一点,我修改了 docker 文件,现在如下所示

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:Admin23@github.com/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"

【问题讨论】:

    标签: node.js ubuntu docker npm npm-install


    【解决方案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"]
    

    【讨论】:

      【解决方案2】:

      将您的文件基于official NodeJS image 可能更简单。对于 v6.5,这意味着 FROM ubuntu:14.04 变为 FROM node:6.5

      此外,您可能希望使用WORKDIR /root/web 更改工作目录,而不是一遍又一遍地使用RUN cd /root/web

      【讨论】:

        猜你喜欢
        • 2014-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-25
        • 1970-01-01
        • 1970-01-01
        • 2017-03-31
        相关资源
        最近更新 更多