У меня есть приложение angular, которое докерируется. Мой файл докеров:
FROM node:8.9 as node
WORKDIR /app
COPY package.json /app/
RUN npm install
COPY ./ /app/
ARG env=prod
RUN npm run build -- --prod --environment $env
FROM nginx:1.13
COPY --from=node /app/dist/ /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf
EXPOSE 4200
#CMD npm start
Я запускаю docker build -t app: prod. чтобы создать свое приложение для докеров локально, и я запускаю его с помощью docker run -p 4200: 4200 app: prod. Это прекрасно работает найти.
Теперь я создаю свое приложение для докеров с помощью docker build - t app., Затем я пометил его как последний, я отправил его в AWS в репозиторий, создал cluser, task и т. д.
В AWS EC2 все выглядит нормально, но когда я использую свой браузер с общедоступным IP-адресом и портом 4200, я не могу подключиться к своему приложению.
Когда я пытаюсь запустить docker run -p 4200: 4200 app, я получаю следующее сообщение: Не удалось найти изображение "приложение: последнее" локально docker: ответ от демона об ошибке: доступ по запросу запрещен для приложения, репозиторий не существует или может потребоваться «вход в докер». См. Docker run --help.
Не уверен, что это актуально, но мне интересно, почему я не могу запустить свое приложение таким образом?
Есть идеи, что я могу проверить на AWS, чтобы найти проблему?
Спасибо, Майкл





Добавьте собственное имя - когда вы помечаете его «app», Docker ищет в основном реестре.
docker build -t your.remote.repository/michael/app .
А потом запускаем:
docker run -p 4200:4200 your.remote.repository/michael/app
Правильная маркировка важна, чтобы Docker мог найти путь в нужное место.
Спасибо ! Я сделал это - удалил CMD NPM START из файла докера, так как он создал ошибку, но затем он работал локально с этим изображением. Но все же это не решает мою проблему с AWS - мое приложение все еще не запускается в AWS.