인프런 커뮤니티 질문&답변

backboss님의 프로필 이미지
backboss

작성한 질문수

초보를 위한 도커 안내서

도커 이미지 만들기 - 웹 애플리케이션 (nodejs)

패키지 설치시 옵션 적용 질문 드립니다.

작성

·

484

1

간단한 Dockerfile 작성중 설치파라미터 관련 문의 드립니다.

설치시 위처럼 선택을 해야 하는경우 Dockfile 에 어떻게
기입을 하면 되나요?
 
현재 기입 내용 입니다.
RUN apt-get -y install tzdata<<EOF \
6 \
69 \
EOF
 
 
 
 
 

답변 1

0

subicura님의 프로필 이미지
subicura
지식공유자

안녕하세요!

Dockerfile을 이용하여 빌드할 때 사용자 입력이 필요하다면 두가지 방법이 있습니다.

 

1. 사용자 입력 흉내내기

printf "6\n69" | apt-get install -y tzdata

위와 같이 실행 명령어 앞에 printf "" | 를 입력하면 사용자가 입력한 것과 같은 효과를 가집니다.

2. ubuntu에서 제공하는 non interactive 모드 활용하기

ubuntu/debian 계열 linux에서는 사용자 입력이 불가능한 경우를 별도 환경 변수로 관리합니다.

tzdata는 다음과 같은 방식을 사용할 수 있습니다.

ENV DEBIAN_FRONTEND=noninteractive

RUN ln -fs /usr/share/zoneinfo/Asia/Seoul /etc/localtime
RUN apt-get update
RUN apt-get install -y tzdata
RUN dpkg-reconfigure --frontend noninteractive tzdata

 

두가지 방법중에 편한 방법을 선택하시면 되고 docker에서는 가급적 두번째 방식을 추천합니다.

감사합니다!

backboss님의 프로필 이미지
backboss

작성한 질문수

질문하기