1
运行我安装yarn
,然后我想用接下来的Dockerfile来执行它:纱失败的Dockerfile
FROM ubuntu:trusty
....
USER node
RUN npm install -g yarn
RUN ["/bin/bash", "-c","yarn install"]
但它失败:
/bin/bash: yarn: command not found
ERROR: Service 'falink-frontend4' failed to build: The command '/bin/bash -c yarn install' returned a non-zero code: 127
我只是尝试使用下一个:
FROM ubuntu:trusty
....
USER node
RUN npm install -g yarn
RUN yarn install
但它无法用:
/bin/sh: 1: yarn: not found
ERROR: Service 'falink-frontend4' failed to build: The command '/bin/sh -c yarn install' returned a non-zero code: 127
然后我连接到容器使用docker exec -it XXXXX /bin/bash
,我运行yarn install
它工作正常。当我在Docker容器内访问时,我使用node
用户作为Dockerfile。
这是我entery Dockerfile:
FROM ubuntu:trusty
# Create app directory
RUN mkdir -p /usr/src/app
#use mirrors for faster apt downloads no matter where the machine that builds the image is
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt trusty main restricted universe multiverse" > /etc/apt/sources.list; \
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list; \
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list; \
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
#install required software before using nvm/node/npm/bower
RUN apt-get update && apt-get install -y libfreetype6 libfontconfig curl git python build-essential
#add user node and use it to install node/npm and run the app
RUN useradd --home /home/node -m -U -s /bin/bash node
#allow some limited sudo commands for user `node`
RUN echo 'Defaults !requiretty' >> /etc/sudoers; \
echo 'node ALL= NOPASSWD: /usr/sbin/dpkg-reconfigure -f noninteractive tzdata, /usr/bin/tee /etc/timezone, /bin/chown -R node\:node /myapp' >> /etc/sudoers;
#run all of the following commands as user node from now on
USER node
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
#change it to your required node version
ENV NODE_VERSION 6.11.0
#needed by nvm install
ENV NVM_DIR /home/node/.nvm
#install the specified node version and set it as the default one, install the global npm packages
RUN . ~/.nvm/nvm.sh && nvm install $NODE_VERSION && nvm alias default $NODE_VERSION && npm install -g yarn && npm install -g [email protected] [email protected] [email protected] [email protected] koa-route koa-connect-history-api-fallback koa-body-parser [email protected] axios lodash moment
ADD ./Falink_front/run_all.sh /run_all.sh
COPY ./Falink_front/webapp /myapp
ADD ./Falink_front/scrapping.js /code/scrapping.js
ADD ./Falink_front/package.json /code/package.json
COPY ./Falink_front/public /code/public
COPY ./Falink_front/src /code/src
ADD ./Falink_front/yarn.lock /code/yarn.lock
USER root
RUN chown -R node:node /code
USER node
RUN ["/bin/bash", "-c","yarn install"]
可能是什么问题呢?
真的感谢!最后,我使用“节点”泊坞窗图像,但它解决了我的问题!:) –