Dockerfile에서 timezone 설정하기

임태빈·2022년 1월 7일
0

docker

목록 보기
3/3

안녕하세요.

갈비만두를 좋아하는 개발자 임태빈입니다.

이번 포스팅에서는 DockerFile에서 timezone을 설정하는 방법을 알아보겠습니다.

DockerFile에 jre를 설치하는 과정에서 Timezone을 설정해야 하는 부분이 있었습니다.

컨테이너 내부에서 할때에는 직접 입력을 해주면 되지만 Dockerfile에서는 직접 입력이 되지 않아

빌드가 안되는 경험을 하게 되었습니다.

어떻게 하면 이를 해결할 수 있을지 찾아보던 중

사전에 timezone을 설정하면 된다는 내용을 찾게 되었습니다.

우분투에서 timezone을 여러 방법으로 설정할 수 있다고 해서 timedatectl을 사용해보거나 Dockerfile에서 환경변수로 DEBIAN_FRONTEND=noninteractive을 넣어주면 된다고 해서 해봤지만 진행이 안되었습니다.

그래서 제가 찾은 방법을 공유하려고 합니다.

코드는 간단하며 한번 사용해보시면 좋겠습니다.

FROM ubuntu:latest

RUN apt-get update && apt-get install -y sudo
RUN apt-get install -y git
RUN adduser --disabled-password --gecos "" ubuntu && echo 'ubuntu:ubuntu' | chpasswd  && adduser ubuntu sudo  && echo 'ubuntu ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN sudo mkdir -p /home/ubuntu

USER ubuntu
WORKDIR /home/ubuntu

RUN sudo ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

RUN sudo apt-get update && \
sudo apt-get install -y openjdk-11-jre-headless && \
sudo apt-get install -y vim &&\
sudo apt-get clean;

여기서 유심히 봐야할 부분은

바로 이 부분입니다. 이 부분이 시간을 설정해주는 코드이기 때문입니다. 시간대를 바꾸기를 원하시는 분들은 Asia/Seoul을 원하시는 지역으로 수정해서 사용하시면 됩니다.

RUN sudo ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

준비한 내용은 이렇게 끝이며

작성된 내용중 틀린 부분 혹은 궁금하신 부분이 있다면

댓글을 남겨주시면 감사드리겠습니다:)

profile
golang과 서버 개발을 하고 있는 개발자입니다.

0개의 댓글