Я пытаюсь установить пакеты модулей узла из GitHub на основе аргумента. Я пытался, но я не понимаю этого решения полностью. В выполнении нет ошибки, но я уверен, что он не устанавливает пакет. Я запускаю контейнер локально перед развертыванием и получаю, что модуль не найден, ошибка
Dokerfile такова. Можно ли сохранить каждую команду в новой строке?
Dokerfile
FROM node:10 ENV HOME /usr/src/reach-live-api ARG siteval RUN mkdir -p $HOME RUN mkdir -p /root/.ssh WORKDIR $HOME COPY ./keys/reachlive_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN echo "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config COPY . $HOME RUN npm install --silent --production RUN if [ "$siteval" = "prod" ]; then \ RUN npm install "reach-live-elasticsearch@git+https://github.com/lalitmohan001/reach-live-elasticsearch-prod.git" \ RUN npm install "reach-live-firebase@git+https://github.com/lalitmohan001/reach-live-firebase-prod.git" \ RUN npm install "reach-live-paypal@git+https://github.com/lalitmohan001/reach-live-paypal-prod.git" \ else \ RUN npm install "reach-live-elasticsearch@git+https://github.com/lalitmohan001/reach-live-elasticsearch.git" \ RUN npm install "reach-live-firebase@git+https://github.com/lalitmohan001/reach-live-firebase.git" \ RUN npm install "reach-live-paypal@git+https://github.com/lalitmohan001/reach-live-paypal.git"; \ fi RUN npm prune --production RUN rm -fr .npm RUN rm -fr /root/.ssh RUN rm -fr keys CMD ["npm", "start"]
Я использую следующую команду для построения
docker build -t gcr.io/reachlive-123/api:25Apr2020 . --build-arg siteval=dev
Помощь будет высоко ценится
Оказывается, проблема была в
RUN if [ "$siteval" = "prod" ]; then \ RUN npm install "reach-live-elasticsearch@git+https://github.com/lalitmohan001/reach-live-elasticsearch-prod.git" \ RUN npm install "reach-live-firebase@git+https://github.com/lalitmohan001/reach-live-firebase-prod.git" \ RUN npm install "reach-live-paypal@git+https://github.com/lalitmohan001/reach-live-paypal-prod.git" \ else \ RUN npm install "reach-live-elasticsearch@git+https://github.com/lalitmohan001/reach-live-elasticsearch.git" \ RUN npm install "reach-live-firebase@git+https://github.com/lalitmohan001/reach-live-firebase.git" \ RUN npm install "reach-live-paypal@git+https://github.com/lalitmohan001/reach-live-paypal.git"; \ fi
Я изменил его на и он работает
RUN if [ "$arg" = "prod" ]; then \ npm install reach-live-elasticsearch@git+https://github.com/lalitmohan001/reach-live-elasticsearch-prod.git \ reach-live-firebase@git+https://github.com/lalitmohan001/reach-live-firebase-prod.git \ reach-live-paypal@git+https://github.com/lalitmohan001/reach-live-paypal-prod.git ; \ else \ npm install reach-live-elasticsearch@git+https://github.com/lalitmohan001/reach-live-elasticsearch.git \ reach-live-firebase@git+https://github.com/lalitmohan001/reach-live-firebase.git \ reach-live-paypal@git+https://github.com/lalitmohan001/reach-live-paypal.git; \ fi
Спасибо Павиттару Сингху за помощь в расчете это из!