두 개의 마이크로 서비스 이미지, Go Rest API 및 React 프론트 엔드가 AWS ECR 내에 있습니다. 나는 Elastic Beanstalk을 사용할 것이다. 이제 그들은 같은 시스템에 있다고 생각하기 때문에 localhost : 8080의 API에서 데이터를 가져 오도록 React 앱을 구성했습니다. 아래 둘 다에 대한 Dockerfiles 있습니다. 그들은 내 개발 환경에서 일 했으므로 ECR로 밀어 넣었습니다.AWS EB에서이 다중 컨테이너 도커 미세 서비스 응용 프로그램에 대한 dockerrun.aws.json을 만드는 방법을 알려 줄 사람이 있습니까?
Dockerfile Golang에 대한 나머지 API
FROM golang
ADD . /go/src/vsts/project/gorestapi
WORKDIR /go/src/vsts/project/gorestapi
RUN go get github.com/golang/dep/cmd/dep
RUN dep ensure
RUN go install .
ENTRYPOINT /go/bin/gorestapi
EXPOSE 8080
Dockerfile 나는 볼륨이 여전히 선언 할 필요가 있는지 알고, 또는 마운트 지점하지 않는
FROM node:8.4.0-alpine
WORKDIR /usr/src/app
ENV NPM_CONFIG_LOGLEVEL warn
RUN npm i -g serve
CMD serve -s build/app -p 3000
EXPOSE 3000
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
을 프런트 엔드 응용 프로그램 반응에 대해 내가 아는 모든 I이다 v2에 dockerrun json의 버전과 컨테이너 정의의 이름, 이미지 및 포트 맵핑을 넣어야합니다. 대부분의 샘플은 개인 레포에서 앱을 보여주지 못하기 때문에 혼란스럽고 사용법을 이해하지 못하는 볼륨, 마운트 포인트, 링크가 있습니다. 나는 다음을 시도했지만이
편집을 작동하지 않았다 (나는 Dockerrun.aws.json는 볼륨 호스트 SourcePath를 내 컴퓨터의 경로로 예상 변경 내가 틀렸다면 수정하십시오.)
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "webapp",
"host": {
"sourcePath": "/webapp"
}
},
{
"name": "gorestapi",
"host": {
"sourcePath": "/gorestapi"
}
}
],
"containerDefinitions": [
{
"name": "gorestapi",
"image": "<acctId>.dkr.ecr.us-east-1.amazonaws.com/dev/gorestapi:latest",
"essential": true,
"memory": 512,
"portMappings": [
{
"hostPort": 8080,
"containerPort": 8080
}
],
"links": [
"webapp"
],
"mountPoints": [
{
"sourceVolume": "gorestapi",
"containerPath": "/go/src/vsts/project/gorestapi"
}
]
},
{
"name": "webapp",
"image": "<acctId>.dkr.ecr.us-east-1.amazonaws.com/dev/webapp:latest",
"essential": true,
"memory": 256,
"portMappings": [
{
"hostPort": 3000,
"containerPort": 3000
}
],
"mountPoints": [
{
"sourceVolume": "webapp",
"containerPath": "/usr/src/app"
}
]
}
]
}
경로에 올바른 값을 지정 했습니까?
볼륨의 원본 경로에 무엇을 지정해야합니까? 그 이미지의 소스가있는 폴더의 이름? 또는 빌드 폴더? 또는 전체 프로젝트? 또한 마운트 포인트의 컨테이너 경로, 그것은 무엇입니까? 이전에 볼륨 및 마운트 포인트로 시도했지만 배포가 실패했습니다. –
볼륨 소스 경로는 주어진 컨테이너 경로 (컨테이너 내부의 폴더)에 마운트하려는 호스트의 폴더의 절대 경로입니다. 배포가 실패 할 때 오류 로그를보고 싶습니다. – ArnoldKO
현재 오류 로그를 보는 방법을 알아 냈습니다. 위의 수정 사항을 확인하십시오. –