我有一个被码头化的有角度的应用程序。我的docker文件是:
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应用,然后使用“ docker run -p 4200:4200 app:prod”运行它。可以找到完美的作品。
我现在使用'docker build-t app。'构建我的docker应用,然后将其标记为最新,将其推送到AWS到存储库中,创建cluser,任务等。
在AWS EC2中一切看起来都不错-但是当我将浏览器与公共IP和端口4200结合使用时,我无法连接到我的应用程序。
当我尝试运行“ docker run -p 4200:4200 app”时,出现以下消息: 无法在本地找到图片“ app:latest” 泊坞窗:来自守护程序的错误响应:应用程序的拉式访问被拒绝,存储库不存在或可能需要“泊坞窗登录”。 请参阅“ docker run --help”。
不确定这是否相关,但是我想知道为什么我不能以这种方式启动我的应用程序?
您知道我可以在AWS上进行哪些检查以找到问题吗?
谢谢, 迈克尔
答案 0 :(得分:0)
添加适当的名称-在将其标记为“ app”时,Docker会在主注册表中查找。
docker build -t your.remote.repository/michael/app .
然后运行它:
docker run -p 4200:4200 your.remote.repository/michael/app
正确的标签很重要,因此Docker可以找到正确的位置。