겔라시안 초원의 도커 마스터

DockerBeginner
지금 연습하기

소개

야생마들이 자유롭게 거닐고, 말 조련사와 야생마 사이의 유대감이 생존의 열쇠가 되는 고대 겔라시안 초원에 와 있다고 상상해 보십시오. 여러분은 야생마 조련사가 되어, 이 광활한 대지에서 도커를 활용해 컨테이너를 효율적으로 관리해야 하는 임무를 맡게 되었습니다.

이 콘텐츠는 챌린지입니다. 가이드가 제공되는 일반 실습과 달리, 학습 단계를 따라가는 것이 아니라 스스로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 모범 답안을 확인해 보세요. 통계에 따르면 이 챌린지는 초급 수준이며, 통과율은 97%입니다. 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

컨테이너 생성 숙달하기

이 단계에서는 거친 초원에서 살아남기 위해 도커 컨테이너를 생성하고 관리하는 기본 기술을 익힙니다.

과제

  • mynginx라는 이름의 Nginx 컨테이너를 생성하고 정상적으로 실행되는지 확인합니다.
  • Alpine 컨테이너를 실행하고 상태를 검증합니다.
  • 특정 볼륨이 연결된 Ubuntu 컨테이너를 배포합니다 (호스트의 ~/project 디렉토리를 컨테이너의 /app에 마운트).

요구 사항

  • 모든 작업은 /home/labex/project 디렉토리 내에서 수행해야 합니다.
  • 다음 명령어를 활용하십시오:
    • 컨테이너 생성: docker run
    • 컨테이너 상태 확인: docker ps
    • 볼륨 연결: docker run -v

예시

과제를 완료한 후 docker ps를 실행하면 컨테이너 ID, 이미지, 상태 등 관련 정보와 함께 실행 중인 컨테이너 목록이 표시되어야 합니다.

labex:~/ $ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
1983f85f03d4   ubuntu    "sleep 3600"             22 seconds ago   Up 21 seconds             ubuntu_container
4231996cae33   alpine    "sleep 3600"             2 minutes ago    Up 2 minutes              alpine_container
519eadd3ced5   nginx     "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp    mynginx
✨ 솔루션 확인 및 연습

컨테이너 네트워킹 및 통신

이 단계에서는 초원 전역에 원활한 연결을 구축하기 위해 컨테이너 네트워킹과 통신의 세계를 탐구합니다.

과제

  • 컨테이너들이 사용할 mynetwork라는 이름의 사용자 정의 네트워크를 생성합니다.
  • 사용자 정의 네트워크에 myalpine이라는 이름의 Alpine 컨테이너를 배포하고, 동일한 네트워크에 있는 Python 이미지 기반의 mypython 컨테이너와 통신이 가능한지 확인합니다.

요구 사항

  • 모든 작업은 /home/labex/project 디렉토리 내에서 이루어져야 합니다.
  • 다음 명령어를 활용하십시오:
    • 사용자 정의 네트워크 생성: docker network create
    • 네트워크에 컨테이너 연결: docker network connect (또는 생성 시 지정)

예시

과제를 마치면 docker network ls 실행 시 사용자 정의 네트워크가 표시되어야 하며, Python 컨테이너가 네트워크 내의 다른 컨테이너와 성공적으로 통신할 수 있어야 합니다.

네트워크 확인:

labex:~/ $ docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
1a367e6cc4e5   bridge      bridge    local
91199fc6ad2e   host        host      local
32e2857073a9   minikube    bridge    local
92d3b71b7efd   mynetwork   bridge    local
1078d2c781b6   none        null      local

ping을 통한 컨테이너 연결 확인:

labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms
✨ 솔루션 확인 및 연습

요약

이 챌린지에서 여러분은 고대 초원의 야생마 조련사가 되어 도커 컨테이너를 관리하는 기술을 훌륭히 수행해 냈습니다. 과제를 완수하고 해결 방법을 이해함으로써, 도커라는 거친 야생의 세계에서 살아남는 데 필수적인 컨테이너 관리 및 네트워킹 능력을 갖추게 되었습니다.