• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

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

22.04.13 21:24 작성 조회수 380

1

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

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

답변 1

답변을 작성해보세요.

0

안녕하세요!

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에서는 가급적 두번째 방식을 추천합니다.

감사합니다!