본문 바로가기

notes

docker안에서 인코딩타입, 시간 설정 바꾸기

@마크다운


예약 시스템을 만들던 도중 로컬에서 되던 포스트맨이 서버에서 동작하지 않는 경우가 발생했다.


ascii 어쩌고 하면서 에러가 떴는데


인코딩관련 에러 라고 한다.


그래서 이게 왜 안되나... 로컬에서 다 확인하고 올린건데...


문제는 사용하고 있는 docker였다.


docker에서 인코딩 설정을 UTF-8로 바꾸니 그제서야 동작하기 시작..


그리고 이 문제를 해결하고 나니 이번엔 UTC가 맞지 않는 문제가 발생


예약에서 시간단위로 예약을 받기 때문에 이번엔 문제가 뭘까 생각했는데


django안에서는 settings에서 시간설정을 맞춰서 아무런 문제가 없는데 서버에만 올라가면 시간이 뻑이나는것을 발견


이번에도 docker가 문제구나!


docker에서 시간설정을 한국으로 맞추고 실행했더니 시간도 잘 맞아 떨어졌다.


docker를 사용한다면 docker의 설정이 django의 설정을 무시해버리는것 같다.



# 문제를 해결해준 고마운 코드들


## 인코딩 타입변경

```


ENV LANG C.UTF-8

```

## 한국시간으로 설정


```

ENV         TZ 'Asia/Seoul'

RUN         echo $TZ > /etc/timezone && apt-get update && apt-get install -y tzdata && rm /etc/localtime && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && dpkg-reconfigure -f noninteractive tzdata && apt-get clean

```


docker가 django의 환경설정을 덮어버리는 원인을 아시는분은 제발 가르침을 하사해주십시오..