Docker 컨테이너 기본

Docker 컨테이너 기본 사항을 학습합니다. 이 모듈은 Docker 설치 확인, 첫 번째 서비스 실행, Exec 를 사용한 컨테이너 액세스, 컨테이너 로그, 포트 매핑을 다룹니다. 실습 랩과 실제 과제를 통해 이러한 필수 Linux 기술을 숙달하게 됩니다.

DevOps EngineerLinuxDevOps

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

컨테이너 실행은 시작일 뿐입니다. 정상 상태 확인, 내부 검사, 트래픽 경로 이해, 깔끔한 제거까지 할 수 있어야 합니다. 이 실습 과정은 짧게 사용하는 테스트 컨테이너와 Nginx 웹 서비스를 통해 기본 운영 능력을 익힙니다.

Docker 클라이언트와 데몬의 흐름을 검증하고 이미지와 컨테이너 인스턴스를 구분하며 생성, 실행, 중지, 삭제 수명 주기를 연습합니다. 마지막 챌린지에서는 Nginx를 백그라운드로 배포하고 포트 매핑을 추가해 재생성한 뒤 외부와 내부에서 검증하고 정리합니다.

학습 내용

  • hello-world 이미지를 실행해 Docker CLI와 엔진 검증하기
  • docker ps와 docker ps -a로 실행 중과 종료된 컨테이너 구분하기
  • 이름이 있는 Nginx 및 Alpine 컨테이너를 detached 모드로 시작하기
  • docker exec -it로 실행 중인 컨테이너에 들어가 사용자 공간 검사하기
  • docker logs와 -f로 누적 로그와 실시간 출력 확인하기
  • 호스트 8080을 컨테이너 80에 게시하고 curl로 Nginx 테스트하기
  • 각 상태를 확인하며 컨테이너 중지, 삭제, 재생성하기

추천 대상

이 중급 과정은 개별 Docker 컨테이너를 실제로 운영하려는 Linux 사용자, 개발자, 관리자, DevOps 학습자를 위한 것입니다. 개념은 알지만 명령줄에서 시작, 검사, 디버깅, 게시, 정리를 해 보지 않았다면 특히 유용합니다.

선수 지식: Linux 터미널, 목록형 출력 읽기, curl 사용 기초가 필요합니다. Docker 경험은 필요하지 않습니다.

학습 환경: 작동하는 Docker 엔진과 hello-world, Nginx, Alpine 이미지에 접근할 수 있는 LabEx Linux 터미널입니다.

자주 묻는 질문

Docker 이미지를 빌드하거나 Docker Compose를 사용하나요?

아니요. 기존 이미지를 운영하며 단일 컨테이너 수명 주기, 로그, 대화형 검사, 포트 게시에 집중합니다. Dockerfile, 빌드, 볼륨, 사용자 지정 네트워크, Compose는 범위 밖입니다.

exec 셸이나 로그 추적을 종료하면 컨테이너도 중지되나요?

아니요. docker exec로 시작한 Bash를 종료해도 Nginx는 계속 실행되고, docker logs -f에서 Ctrl+C를 눌러도 로그 뷰어만 멈춥니다. docker ps로 상태를 별도 확인합니다.

마지막 챌린지 후 무엇이 계속 실행되나요?

lab-web 컨테이너는 남지 않습니다. 8080:80 매핑으로 Nginx를 재생성해 페이지와 /etc/os-release를 확인한 뒤 반드시 중지하고 삭제합니다.

강사

labby
Labby
Labby is the LabEx teacher.