Докер на OpenStack.npm застрял после извлечения и до жизненного цикла - PullRequest
0 голосов
/ 23 мая 2018

Справочная информация : цель состоит в том, чтобы докернизировать веб-сайт Angular и запустить его на виртуальной машине OpenStack.Есть много работы, чтобы докеризировать nmp, поэтому мой коллега нашел этот уже готовый образ докера, который мы используем.Веб-сайт Angular создан в соответствии с версией npm node.js, на которой основан этот докер.

Проблема: Мы разрабатываем код на виртуальной машине Ubuntu, работающей на компьютере под управлением Windowsи локально это работает нормально.Проблема возникает, когда мы пытаемся создать образ докера на виртуальной машине OpenStack Ubuntu.Сначала мы подумали, что это проблема с сетью, но после некоторого расследования мы заметили, что npm извлекает пакеты и получает их.После получения всех пакетов он просто останавливается и не дает ответа, но это можно отменить, нажав CTRL + C .На локальной виртуальной машине она продолжается после извлечения всех пакетов с выполнением жизненного цикла для извлеченных пакетов.На виртуальной машине с открытым стеком это никогда не выполняется.

Dockerfile :

FROM node:8-alpine

RUN echo http://mirror.yandex.ru/mirrors/alpine/v3.5/main > /etc/apk/repositories; \
    echo http://mirror.yandex.ru/mirrors/alpine/v3.5/community >> /etc/apk/repositories
RUN apk update && apk add nginx

COPY app-gui/package.json app-gui/package-lock.json ./

## RUN npm config set registry https://registry.npmjs.org/ && npm ping [--registry https://registry.npmjs.org/]

RUN npm set progress=false && npm config set depth 0 && npm cache clean --force
RUN npm config set loglevel info 

## Storing node modules on a separate layer will prevent unnecessary npm installs at each build
RUN npm i && mkdir /ng-app && cp -R ./node_modules ./ng-app

WORKDIR /ng-app
COPY bletf-gui/ .

#Setup nginx
RUN cat ./nginx/default.conf
COPY app-gui/nginx/default.conf /etc/nginx/conf.d
RUN mkdir -p /usr/share/nginx/html && mkdir -p /run/nginx

CMD sed -i -e 's|\$HOST|'"${API_HOST}"'|g' src/environments/environment.prod.ts && \
    $(npm bin)/ng build --prod && cp -R ./dist/* /usr/share/nginx/html/ && nginx -g "daemon off;"

Если потребуется какая-либо другая информация, я постараюсь предоставить ее.

...