Nginx container의 UTC Timezone



📑 Background context

Linux계열 OS가 가동되고 있는 서버에
docker 기반 Nginx container가 실행되고 있다.


이 Nginx Container는 Linux OS에서 Process로 인식되며

Dockerfile, Docker-compose, 또는 configuration 및 환경변수 파일(.env)에 기입된 사양에 따라

구성된 환경 위에서 작동하는 Nginx process이다.

 

이 가상환경은 Ubuntu같은 Full-OS는 아니고 

격리 프로세스에 맞게 제작된 User-space이다.


Kernel은 Host OS의 Kernel을 공유한다.

User-space는 Container에서 실행시킬 application에 필요한

최소한의 라이브러리, binary를 설치하고 application을 실행한다.

system call이 필요한 작업은 Host OS의 system call을 이용한다.


이 부분이 virtual machine과의 차이점이다.

python 3.10.14 dockerhub 

docker hub의 공식 이미지들의 image hierarchy를 보면

어떤 base image로부터 빌드하는지 알 수 있다.

🍀 container와 virtual machine과 비교는 다른 포스팅에서 다룰 예정.


docker logs 명령어를 통해 Nginx 로그를 읽어오면

격리된 컨테이너 환경의 로그를 보여주기 때문에

기본 설정인 UTC(+0000) 기준의 Timestamp 밖에 확인할 수 없다.


컨테이너 환경에서 작동하는 Nginx의 Timezone 기준을 바꾸려면

Container를 제작하는 시점에서 명세를 해야한다.


한국시 기준 Timestamp를 보고싶다면

Dockerfile, Docker-compose와 같은 script file에

Timezone을 UTC가 아닌 Asia/Seoul로 바꿔준 후 컨테이너를 가동시켜야한다.

  

댓글

이 블로그의 인기 게시물

실무진 면접 경험으로 정리하는 백엔드 (1) : 에듀 테크 기업 면접

노마드코더 개발자북클럽 Clean code 완주, 독후감

Blogger 커스터마이징 : CSS 수정 (sticky-header)