라벨이 Docker인 게시물 표시

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)