본문 바로가기
의지박약/DevOps

[docker] Dockerfile 빌드시 timezone 설정 때문에 설치되지 않는 오류 (tesseract)

by 병진들 2021. 8. 23.

Linux 환경에서 apt-get install을 하다보면 가끔 Geographic area를 설정하라는 창이 뜰 때가 있다.

일반적인 설치 환경이라면 그냥 6.Asia -> 69.Seoul 을 직접 입력해주면 되지만 

Dockerfile에서 스크립트로 build 할 때는, 이런 키 입력이 불가능하다.

 

이런거...

 

Dockerfile 빌드를 중단할 수 밖에없는 이 상황..

 

찾아보니 해결방법은 두가지가 있다.

 

첫번째 방법은 Dockerfile에 아래와 같이 추가해서 명시적으로 timezone을 미리 설정해놓고 설치를 진행하는것이다.

나는 이 방법으로 해결하였다.

# Dockerfile
FROM ubuntu:20.04

ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

 

두번째 방법은 시도해보진 않았지만 아래처럼 FRONTEND 설정을 비활성화 하여 추가적인 창이 뜨지 않게 하는 것이다.

ENV DEBIAN_FRONTEND=noninteractive
or
ARG DEBIAN_FRONTEND=noninteractive

 

개인적으로 첫번째 방법이 더 좋다고 생각한다.

댓글