MSA front 문의
- 작성자 :
- 조*현
- 작성일 :
- 2024-05-17 11:56:21
- 조회수 :
- 532
- 구분 :
- 개발환경 / 4.2
- 진행상태 :
- 완료
Q
안녕하세요
front 의 admin 과 portal 의 환경이 다른가요?
portal 이 컨테이너로 실행되는 env에서 admin으로 변경 동일한 env에서 실행하면
로그에 아래 내용이 나옵니다.
> msa-template-admin@0.1.0 start /usr/app
> NODE_ENV=production node dist/index.js
> Ready on localhost:3000 - env production
Error: connect ECONNREFUSED 127.0.0.1:8000
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8000
}
statistics getServerSideProps error Request failed with status code 500
can't refresh
can't refresh
can't refresh
req.url : /user-service/login
can't refresh
admin 의 docker-compose 샘플을 받아볼수 있을까요?
감사합니다.
front 의 admin 과 portal 의 환경이 다른가요?
portal 이 컨테이너로 실행되는 env에서 admin으로 변경 동일한 env에서 실행하면
로그에 아래 내용이 나옵니다.
> msa-template-admin@0.1.0 start /usr/app
> NODE_ENV=production node dist/index.js
> Ready on localhost:3000 - env production
Error: connect ECONNREFUSED 127.0.0.1:8000
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 8000
}
statistics getServerSideProps error Request failed with status code 500
can't refresh
can't refresh
can't refresh
req.url : /user-service/login
can't refresh
admin 의 docker-compose 샘플을 받아볼수 있을까요?
감사합니다.
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 :
- JDK(JRE) 정보 :
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
기재하신 내용만으로는
정확한 환경 구성을 알 수 없으나
해당 로그의 포트 번호로 미루어 볼 때
apigateway 호출 대신 localhost가 호출되어 오류가 발생한 것으로 추정됩니다.
프론트엔드 컨테이너에서 apigateway 컨테이너를 호출하기 위해서는
"http://컨테이너명:포트" (ex: http://apigateway:8080)로 호출해야 하며
이를 위해서는 환경변수 SERVER_API_URL에 해당 호출 값을 담아
Docker 컨테이너를 생성하시는 방법이 있습니다.
package.json 에는 `"start": "NODE_ENV=production node dist/index.js",` 로 되어 있기 때문에,
먼저 .env.production 파일을 생성하여
아래와 같이 작성한 다음
docker build 명령어를 통해
환경변수 SERVER_API_URL에 apigateway를 호출하는 URL이 포함된 docker 이미지를 생성 후
해당 docker 이미지를 컨테이너로 생성하여 사용하실 수 있습니다. apigateway와 동일 네트워크로 묶여 있어야 합니다.
개발에 참고해 주시기 바랍니다.
감사합니다.
표준프레임워크 센터입니다.
기재하신 내용만으로는
정확한 환경 구성을 알 수 없으나
해당 로그의 포트 번호로 미루어 볼 때
apigateway 호출 대신 localhost가 호출되어 오류가 발생한 것으로 추정됩니다.
프론트엔드 컨테이너에서 apigateway 컨테이너를 호출하기 위해서는
"http://컨테이너명:포트" (ex: http://apigateway:8080)로 호출해야 하며
이를 위해서는 환경변수 SERVER_API_URL에 해당 호출 값을 담아
Docker 컨테이너를 생성하시는 방법이 있습니다.
package.json 에는 `"start": "NODE_ENV=production node dist/index.js",` 로 되어 있기 때문에,
먼저 .env.production 파일을 생성하여
아래와 같이 작성한 다음
PORT=3000 SERVER_API_URL=http://apigateway:8000 SITE_ID=1 |
docker build 명령어를 통해
환경변수 SERVER_API_URL에 apigateway를 호출하는 URL이 포함된 docker 이미지를 생성 후
ex) docker build -t frontend-admin-image:v.1.0 |
해당 docker 이미지를 컨테이너로 생성하여 사용하실 수 있습니다. apigateway와 동일 네트워크로 묶여 있어야 합니다.
docker-compose.yml 예시 services: frontend-admin: image: frontend-admin-image:v1.0 restart: always ports: - "3000:3000" networks: default: external: true name: egov-network |
개발에 참고해 주시기 바랍니다.
감사합니다.