ich yarn
installieren und dann würde ich es ausführen, wie die nächste Dockerfile mit:Garn reißen läuft auf Dockerfile
FROM ubuntu:trusty
....
USER node
RUN npm install -g yarn
RUN ["/bin/bash", "-c","yarn install"]
aber es funktioniert nicht mit:
/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
Ich versuche einfach, die nächste mit:
FROM ubuntu:trusty
....
USER node
RUN npm install -g yarn
RUN yarn install
Aber es nicht zu mit:
/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
Dann verbinde ich den Container mit docker exec -it XXXXX /bin/bash
, ich laufe yarn install
und es funktioniert gut. Wenn ich auf den Docker-Container zugreife, verwende ich node
Benutzer als auf der Docker-Datei.
Das ist mein 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"]
Was könnte das Problem sein?
Wirklich Dank !!! Schließlich benutze ich ein "node" docker image, aber es hat meine Frage gelöst :) –