Elastic Beanstalk까지 연결된 Dockerfile을 사용하여 node.js 반응 기반 동형 응용 프로그램을 배포하려고합니다.Node.js Docker를 사용하여 Elastic Beanstalk를 통해 배포
도커를 로컬로 실행하면 성공적으로 실행할 수 있습니다. 그러나 npm 설치 명령이 완료하는 데 상당한 시간이 걸리는 것으로 나타났습니다.
상기 EB가 거의 아마존 서비스를 충돌 또는 나는이 같은 오류가 deploy 명령을 사용하여 응용 프로그램을 배포하려고 할 때 :
ERROR: Timed out while waiting for command to Complete
내 생각 엔이 아래로 내 node_modules에 있다는 것이다되는 폴더 큰 300MB. 또한 config.yml 파일에 이슈 선언을 추가하고 그런 식으로 배포하려고 시도했지만 동일한 오류가 발생합니다.
노드 응용 프로그램을 AWS Beanstalk에 배포하는 최상의 방법이 있습니까? 아니면 수동으로 EC2 인스턴스를 설정하고 코드 커밋 (Code Commit) git 후크에 의존하는 가장 좋은 방법입니까?
FROM node:argon
ADD package.json /tmp/package.json
RUN npm config set registry https://registry.npmjs.org/
RUN npm set progress=false
RUN cd /tmp && npm install --silent
RUN mkdir -p /usr/src/app && cp -a /tmp/node_modules /usr/src/app
WORKDIR /usr/src/app
ADD . /usr/src/app
EXPOSE 8000
CMD npm run build && npm run start
... 이것은 내 config.yml 파일입니다 :
내 Dockerfile은 다음과 같습니다
branch-defaults:
develop:
environment: staging
master:
environment: production
global:
application_name: website-2016
default_ec2_keyname: key-pair
default_platform: 64bit Amazon Linux 2015.09 v2.0.6 running Docker 1.7.1
default_region: eu-west-1
profile: eb-cli
sc: git
의견을 보내 주셔서 감사합니다. Docker 버전을 업데이트하고 문제가 해결되는지 확인하겠습니다. –
NP, 그러나 이것은 일반적인 팁일 뿐이며, 아마도 여러분의 문제를 해결하지 못할 것입니다. 컨테이너 저장소 (AWS ECR 또는 도커 허브와 같은)를 사용하여 이미지를 관리하고 매번 빌드하지 않고 콩 줄기로 가져 와서 더 나은 결과를 얻을 수 있습니다. –
자, 이것 좀 봐. Dockerfile을 사용하고 eb를 배포하기 전에 컨테이너에 문제가 없었기 때문에 아직 컨테이너 서비스를 보지 못했습니다. –