[TIL] 24.12.11 WED

GDORI·2024년 12월 11일
0

TIL

목록 보기
129/143
post-thumbnail

환경변수로 IP 전달하기

내부 아이피를 활용하여 헬스체크서버에서 게임서버의 아이피를 보관하고 싶은데, 도커 내부에서 exec를 통해 아이피를 조회하거나 os 모듈을 이용하여 가져오면 도커 내부 아이피를 불러오게 되어 api로 전송할 수 없어 aws api를 활용하여 IP를 넘겨주고
있었다.
하지만 테스트가 끝나고 모두 nginx 서버를 통해 내부아이피로 통신이 되어야하는 상황으로 바꾸어야 하기 때문에 방안을 찾아야 한다.
찾은 방안 중 하나가 환경변수를 이용한 방법으로 도커를 실행할 때 같이 넣어주는 것이다.

1. 호스트 아이피 가져오기

HOST_IP=$(hostname -I | awk '{print $1}')

해당 명령어로 내부 아이피를 획득할 수 있다.

2. 도커 실행 시 환경 변수 전달

docker run -e HOST_IP=$HOST_IP ...

도커 실행 시 현재는 파일로 관리하고 있어 추후에 변환하는 작업을 거치고 넣어줘야 할 것 같다.

3. 도커 내 서버에서 해당 환경변수 사용

const myIp = process.env.HOST_IP;
// 헬스체크 서버 보고 로직

지금까지 알아본 방법중엔 위에 방법이 제일 간단한 방법인듯 싶다.
현재로서는 전체 게임로직 테스트 완료되면 내부 IP로 전환할 때 사용 예정이다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글