관리 메뉴

솜씨좋은장씨

[Docker] 코드 안에서 수시로 바뀌는 값 docker-compose.yml 에서 편하게 바꾸는 방법 ( feat. python os.environ.get ) 본문

Programming/Docker

[Docker] 코드 안에서 수시로 바뀌는 값 docker-compose.yml 에서 편하게 바꾸는 방법 ( feat. python os.environ.get )

솜씨좋은장씨 2020. 12. 19. 13:26
728x90
반응형

docker를 사용하면서 코드를 수정하면 이미지를 다시 만들어야 하는데

코드 내에 API를 호출할때 활용하는 url, endpoint 정보나 여러 설정값들을 바꿀때마다 

다시 이미지를 만들고 실행하는데 번거로움이 있었습니다.

 

이런 설정값들을 좀 더 편하게 수정할 수 있는 방법을 최근에 알게되어 적어보려 합니다.

 

먼저 python 코드 내에서 설정값을 적는 부분을 수정하여 줍니다.

 

config.py 수정 전

NER_INFO = {
    "ip":"0.0.0.0",
    "port" : "23232"
}

 

config.py 수정 후

import os

NER_INFO = {
    "ip":os.environ.get("NER_IP", "0.0.0.0"),
    "port":os.environ.get("NER_PORT", "23232")
}

수정 전에 값이 들어가 있는 부분을

python 의 os.environ.get을 활용하여 코드를 수정하여 줍니다.

 

코드를 이렇게 수정했으면 docker-compose 파일에 os.environ.get에서 받을 값을 설정해줍니다.

 

docker-compose.yml

    environment:
      - "NER_IP=0.0.0.0"
      - "NER_PORT=23232"

 

이렇게 설정해주면 저런 IP, PORT 같은 값이 바뀔때 마다 이미지를 다시 만들지 않아도

docker-compose 파일에서 값을 수정하고 docker-compose up 을 활용하여 다시 실행하면 

해당 값이 적용됩니다.

 

그럼 모두 즐거운 코딩하시길!

 

읽어주셔서 감사합니다.

Comments