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"]
可能是什麼問題呢?
真的感謝!最後,我使用「節點」泊塢窗圖像,但它解決了我的問題!:) –