Q&A
책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.
하지만, 책을 끝까지 읽고 나면 이 페이지도 만드실 수 있을거에요.
도커 타임존 변경 문의드립니다.
3 years, 4 months ago
jinioji안녕하세요.
현재 AWS에 서버 구축 후 도커 실행, 도메인 연결까지 완료하였습니다.
한 가지 궁금한 사항이 있습니다.
아래 도커 로그 보시면 db, nginx, web 로그들의 시간이 표시되는데요...
nginx, web의 시간은 docker-compose.yml 파일에 타임존 설정을 해서 서울 시간으로 표시되게 되었습니다.
그런데 db는 같은 방법으로 설정하여도 변경이 되지 않는데 설정이 잘 못 되었는지요?
db 타임존 설정 방법을 알 수 있을까요?
【도커 로그 파일】
[root@Do-It-Django do_it_django_a_to_z]# docker-compose up
Creating network "do_it_django_a_to_z_default" with the default driver
Creating do_it_django_a_to_z_db_1 ... done
Creating do_it_django_a_to_z_web_1 ... done
Creating do_it_django_a_to_z_nginx_1 ... done
Attaching to do_it_django_a_to_z_db_1, do_it_django_a_to_z_web_1, do_it_django_a_to_z_nginx_1
db_1 | 2021-07-02 07:39:39.463 UTC [1] LOG: starting PostgreSQL 12.0 on x86_64-pc-linux-musl, compiled by gcc (Alpine 8.3.0) 8.3.0, 64-bit
db_1 | 2021-07-02 07:39:39.463 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
db_1 | 2021-07-02 07:39:39.463 UTC [1] LOG: listening on IPv6 address "::", port 5432
db_1 | 2021-07-02 07:39:39.466 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1 | 2021-07-02 07:39:39.487 UTC [19] LOG: database system was shut down at 2021-07-02 07:39:33 UTC
db_1 | 2021-07-02 07:39:39.491 UTC [1] LOG: database system is ready to accept connections
nginx_1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx_1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nginx_1 | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
nginx_1 | /docker-entrypoint.sh: Configuration complete; ready for start up
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: using the "epoll" event method
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: nginx/1.21.0
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: built by gcc 8.3.0 (Debian 8.3.0-6)
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: OS: Linux 4.14.232-177.418.amzn2.x86_64
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1024:4096
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: start worker processes
nginx_1 | 2021/07/02 16:39:41 [notice] 1#1: start worker process 22
web_1 | [2021-07-02 16:39:41 +0900] [1] [INFO] Starting gunicorn 20.1.0
web_1 | [2021-07-02 16:39:41 +0900] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
web_1 | [2021-07-02 16:39:41 +0900] [1] [INFO] Using worker: sync
web_1 | [2021-07-02 16:39:41 +0900] [7] [INFO] Booting worker with pid: 7
【docker-compose.yml】
version: '3'
services:
nginx:
build: ./nginx
environment:
- TZ=Asia/Seoul
volumes:
- static_volume:/usr/src/app/_static
- media_volume:/usr/src/app/_media
ports:
- 80:80
depends_on:
- web
web:
build: .
environment:
- TZ=Asia/Seoul
command: gunicorn do_it_django_prj.wsgi:application --bind 0.0.0.0:8000
volumes:
- static_volume:/usr/src/app/_static
- media_volume:/usr/src/app/_media
- ./:/usr/src/app/
expose:
- 8000
env_file:
- ./.env.prod
depends_on:
- db
db:
environment:
- TZ=Asia/Seoul
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./.env.prod.db
volumes:
postgres_data:
static_volume:
media_volume:
감사합니다.
목록보기
taegon 3 years, 4 months ago
안녕하세요.
찾아보신 방법이 맞는 방법입니다만, 몇가지 부연설명이 필요할 것 같네요.
만약 로그로 찍히는 시간만 바꾸고 싶으시면, 지금처럼 docker-compose.yml를 사용하시면 됩니다.
다만 postgres_data 볼륨에 이전에 설정한 타임존 정보가 남아 있어서, 로그가 지정한 타임존과 다르게 표시가 됩니다.
docker-compose down으로 서비스를 중단한 후, docker volume prune 으로 생성한 볼륨 전부를 지우고 다시 진행하시거나, "docker volume ls"로 postgres_data 볼륨의 이름을 찾은 후, docker volume rm db_postgres_data"와 같은 식으로 볼륨을 지운 후 다시 진행하실 수 있습니다.
이렇게 하시더라도 postgresql 자체 타임존은 바뀌지 않는데, TZ와 마찬가지로, 바로 아래줄에 "PGTZ=Asia/Seoul"를 추가해주시면, 데이터베이스 내부에서 사용하는 타임존도 변경이 됩니다.
도움이 되셨길 바랍니다. 고맙습니다.
Updated: July 3, 2021, 11:49 a.m.
jinioji 3 years, 4 months ago
안녕하세요.
덕분에 해결했습니다.
감사합니다.
Updated: July 3, 2021, 9:08 p.m.
Leave a Comment: