초보자를 위한 Docker

이 과정은 Docker 를 시작하는 데 도움을 드리기 위해 설계되었습니다. Docker 의 아키텍처, 구성 요소 및 컨테이너를 빌드하고 실행하는 데 사용하는 방법을 포함하여 Docker 의 기본 사항을 다룰 것입니다.

DockerDevOps

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

소개

첫 컨테이너부터 사용자 정의 이미지, 네트워크, 영구 저장소까지 16개 실습으로 Docker 기초를 다집니다. 9개의 안내형 랩이 워크플로를 설명하고, 7개의 챌린지는 더 적은 절차 안내로 핵심 작업을 재현하게 합니다.

주로 단일 Ubuntu 호스트에서 Docker CLI를 사용하며 컨테이너 수명 주기, Dockerfile, 네트워크 격리와 서비스 검색, volume 관리를 결합해 작은 애플리케이션을 패키징합니다.

학습 내용

과정을 마치면 다음을 할 수 있습니다.

  • Docker Engine, image, container, Docker Hub의 역할을 설명하고 컨테이너를 실행하고 점검합니다.
  • image를 pull, 검색, 나열, tag, 저장, 불러오기, 삭제하고 tag와 layer를 이해합니다.
  • 대화형 또는 백그라운드 컨테이너를 실행하고 lifecycle, logs, inspect, exec, 파일 복사를 관리합니다.
  • docker run으로 이름, port, mount, 환경 변수, 제한, restart policy, network, 작업 경로, 명령을 설정합니다.
  • 콘텐츠 복사, 의존성 설치, ENTRYPOINT 또는 CMD를 정의하는 Dockerfile을 작성합니다.
  • Flask와 Go에 multi-stage build, .dockerignore, non-root USER, HEALTHCHECK, ARG, label을 적용합니다.
  • bridge network를 만들고 컨테이너 연결, 격리, discovery, host 및 none mode를 시험합니다.
  • volume을 만들고 데이터를 영구화·공유하며 기본 백업과 복원을 수행합니다.

추천 대상

멀티 컨테이너 도구나 오케스트레이션 전에 Docker 명령을 익히려는 개발자, 시스템 관리 및 DevOps 초보자를 위한 과정입니다. 기초부터 시작하지만 점차 독립적인 챌린지와 Dockerfile 기법으로 진행합니다.

선수 지식: Docker 경험은 필요하지 않습니다. Linux 탐색, 텍스트 편집, port, process, file, directory의 기본을 알아야 하며 간단한 셸 명령이 챌린지에 도움이 됩니다.

학습 환경: 모든 활동은 제공된 Docker 지원 Ubuntu 22.04 환경에서 실행됩니다. 대부분 데스크톱 터미널을, 이미지 빌드 부분은 웹 코드 편집기를 사용하며 접근 권한과 프로젝트 파일이 준비되어 있습니다.

자주 묻는 질문

모든 과정이 단계별 안내형인가요?

9개의 안내형 랩과 관련 학습 뒤에 배치된 절차 안내가 적은 7개의 챌린지를 결합합니다.

내 컴퓨터에 Docker를 설치해야 하나요?

아닙니다. 제공된 Ubuntu 환경에서 Docker를 사용할 수 있습니다.

Docker Hub 계정이 필요한가요?

아닙니다. pull과 search로 공개 image를 사용하지만 로그인, push, 게시는 하지 않습니다.

Docker Compose, Swarm, Kubernetes를 다루나요?

아닙니다. 단일 호스트의 Dockerfile과 Docker CLI, Docker network로 연결한 여러 컨테이너에 집중합니다. Compose와 오케스트레이션은 범위 밖입니다.

강사

labby
Labby
Labby is the LabEx teacher.