Docker를 활용하여 필요한 Image를 만들어서 사용하는 경우가 있는데 한글이 제대로 표시되지 않거나 한글 파일명 처리에 문제가 발생하는 경우가 있습니다. 또한 TimeZone의 기본값이 UTC이기 때문에 필요에 따라 변경을 해야하는 경우가 있습니다. 이런 경우 간단하게 Dockerfile을 몇 줄만 추가하여 주시면 됩니다. Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # 사용하려는 Docker Image FROM ubuntu:16.04 # fonts-noto-cjk는 일본어/중국어도 필요한 경우에만 추가해 주시면 됩니다. RUN apt-get update && apt-get install -y \ language-pack-ko \ fonts-nanum \ fonts-nanum-coding \ fonts-noto-cjk # 언어 설정 RUN locale-gen ko_KR.UTF-8 ENV LANG ko_KR.UTF-8 ENV LANGUAGE ko_KR.UTF-8 ENV LC_ALL ko_KR.UTF-8 # TimeZone 설정 ENV TZ Asia/Seoul RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone |
Build and Run
1 2 3 | docker build -t myimage:1.0 . docker run -d -it --name mycontainer myimage:1.0 /bin/bash |
Verify
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | root@a3c20cb6212d:/$ locale LANG=ko_KR.UTF-8 LANGUAGE=ko_KR.UTF-8 LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES="ko_KR.UTF-8" LC_PAPER="ko_KR.UTF-8" LC_NAME="ko_KR.UTF-8" LC_ADDRESS="ko_KR.UTF-8" LC_TELEPHONE="ko_KR.UTF-8" LC_MEASUREMENT="ko_KR.UTF-8" LC_IDENTIFICATION="ko_KR.UTF-8" LC_ALL=ko_KR.UTF-8 root@a3c20cb6212d:/$ date 2017. 10. 24. (화) 18:04:53 KST |