도커 고래의 언어 설정 커스터마이징

DockerBeginner
지금 연습하기

소개

반갑습니다, 도커 언어학자 여러분! 지금까지 도커 고래가 말을 하게 만드는 법을 익혔다면, 이제는 여러 나라 말을 할 수 있게 만들어 볼 차례입니다. 이번 챌린지에서는 환경 변수를 활용해 고래의 인사말 언어를 동적으로 변경하는 도커 이미지를 제작하게 됩니다. 우리의 바다 친구에게 글로벌한 목소리를 입혀줄 준비가 되셨나요?

이 콘텐츠는 챌린지입니다. 가이드가 제공되는 실습 (Lab) 과 달리, 학습 단계를 따라가는 것이 아니라 스스로 과제를 해결해야 합니다. 챌린지는 다소 어려울 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 솔루션을 확인해 보세요. 통계에 따르면 이 챌린지는 초급 수준이며, 99%의 통과율과 99%의 긍정적인 평가를 기록하고 있습니다.

다국어 고래 만들기

다국어 애플리케이션을 개발 중인데, 다양한 언어 환경에서 도커 설정을 빠르게 테스트해야 하는 상황을 가정해 봅시다. 바로 이럴 때 우리가 만들 다국어 고래가 활약할 수 있습니다!

이번 챌린지에서는 유연하고 언어를 인식할 수 있는 컨테이너를 만들며 도커 실력을 한 단계 높여보겠습니다. 도커 생태계의 강력한 도구인 환경 변수를 사용하여 친근한 도커 고래의 인사말을 동적으로 변경해 볼 것입니다.

본격적으로 시작하기 전에 챌린지 환경을 설정하겠습니다. 터미널에서 ~/project/docker 디렉토리로 이동하세요. 도커 멘토가 미리 준비해 둔 시작 파일들이 있을 것입니다. 이 파일들을 활용하면 핵심 개념에 더 집중하여 챌린지를 수행할 수 있습니다.

고래에게 세계 각국의 언어를 가르칠 준비가 되셨나요? 다국어 컨테이너의 세계로 뛰어들어 봅시다!

과제

여러분이 완수해야 할 언어 미션은 다음과 같습니다:

  1. 제공된 entrypoint.sh 스크립트를 살펴보고 다양한 언어를 어떻게 처리하는지 이해합니다.
  2. Dockerfile을 수정하여 entrypoint.sh 스크립트를 포함시키고 환경 변수를 설정합니다.
  3. 완성된 Dockerfile 을 사용하여 도커 이미지를 빌드합니다.
  4. 빌드한 이미지로 컨테이너를 실행하며 다양한 언어 설정을 테스트합니다.

요구 사항

챌린지를 성공적으로 완료하려면 다음 조건을 충족해야 합니다:

  1. Dockerfile 에서 docker/whalesay를 베이스 이미지로 사용하세요.
  2. Dockerfile 내에 WHALE_LANGUAGE라는 이름의 환경 변수를 생성하고, 기본값을 "English"로 설정하세요.
  3. Dockerfile 의 COPY 지시어를 사용하여 제공된 entrypoint.sh 스크립트를 이미지의 루트 디렉토리 (/) 에 /entrypoint.sh라는 이름으로 복사하세요. 해당 파일에 실행 권한이 있는지 확인하고 ENTRYPOINT로 설정해야 합니다.
  4. 이미지 태그를 polyglot-whale로 지정하여 빌드하세요.
  5. 컨테이너를 실행할 때 환경 변수를 설정하여 고래가 영어와 스페인어로 말하도록 하세요.
  6. 모든 명령은 ~/project/docker 디렉토리에서 실행해야 합니다.

참고로 entrypoint.sh 스크립트는 이미 제공되어 있습니다. 여러분의 주요 과제는 이 스크립트를 올바르게 활용하고 환경 변수를 통해 언어 커스터마이징이 가능한 Dockerfile 을 작성하는 것입니다.

예시

스페인어를 선택하여 컨테이너를 실행하면 다음과 같은 출력이 나타나야 합니다:

docker run -e WHALE_LANGUAGE=Spanish polyglot-whale
 _________
< ¡Hola! >
 ---------
    \
     \
      \
                    ###        .
              ### ### ###       ==
           ### ### ### ###      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

기본 설정인 영어로 실행했을 때의 모습입니다:

docker run polyglot-whale
 _________
< Hello! >
 ---------
    \
     \
      \
                    ###        .
              ### ### ###       ==
           ### ### ### ###      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서 여러분은 환경 변수를 설정에 활용하는 이미지를 만들며 도커 실력을 확장했습니다. 구체적으로 다음 내용들을 학습했습니다:

  1. Dockerfile 에서 환경 변수를 사용하여 기본값을 설정하는 방법.
  2. 컨테이너의 진입점 (Entrypoint) 역할을 하는 간단한 쉘 스크립트를 작성하는 방법.
  3. 컨테이너 실행 시 환경 변수를 덮어쓰는 (Override) 방법.

이러한 기술은 다양한 환경이나 사용 사례에 적응할 수 있는 유연하고 설정 가능한 도커 이미지를 만드는 데 필수적입니다. 도커 여정을 계속하면서, 환경 변수가 다양한 배포 시나리오에서 컨테이너를 더 다재다능하고 관리하기 쉽게 만드는 강력한 도구라는 점을 꼭 기억하세요. 계속해서 즐겁게 탐구하며 고래와 대화해 보세요!