채널톡 아이콘

Docker 기초 - 설치부터 Docker Compose 멀티 컨테이너까지

7개 차시, 총 3시간 55분으로 Docker의 기본기를 끝내는 과정입니다. 개념 설명에 머무르지 않고 Dockerfile 5개를 직접 작성해 빌드하며, 마지막에는 FastAPI 서버와 MySQL 데이터베이스를 하나의 애플리케이션으로 묶어 docker compose up 한 줄로 실행합니다. 1강과 2강은 Docker Desktop 설치와 WSL2 환경 점검에서 출발합니다. Docker Hub에서 ubuntu 이미지를 pull하면서 이미지가 여러 레이어로 구성된다는 점을 확인하고, images와 rmi로 로컬 이미지를 관리합니다. 이어서 run, ps, stop, rm으로 컨테이너의 생명주기를 다루고, exec로 실행 중인 컨테이너 내부에 들어가 봅니다. 포트 매핑(-p)으로 httpd 컨테이너의 웹 페이지를 브라우저에서 열어 보고, 볼륨(-v)과 환경변수(-e)로 MySQL 컨테이너를 띄워 데이터가 컨테이너 삭제 후에도 남는 이유를 확인합니다. 3강부터 5강은 이미지를 직접 만드는 구간입니다. FROM, WORKDIR, COPY, ENV, RUN, CMD, EXPOSE를 한 줄씩 뜯어보면서 RUN과 CMD가 각각 빌드 시점과 실행 시점에 동작한다는 차이를 짚습니다. 한 번 실행되고 끝나는 Python 스크립트, 계속 떠 있는 FastAPI 서버, PyInstaller로 컴파일한 실행 파일, 그리고 jq 같은 기존 바이너리까지 네 가지 유형을 각각 이미지로 만듭니다. 특히 컴파일 예제에서는 멀티 스테이지 빌드를 사용해, 빌드 도구는 버리고 결과물만 남기는 방법을 다룹니다. 6강과 7강은 컨테이너를 연결합니다. 네트워크 설정 없이 두 컨테이너를 띄우면 왜 "Internal Server Error"가 나는지 오류를 먼저 재현한 뒤, docker network create로 네트워크를 만들어 컨테이너 이름만으로 서로를 찾아가게 만듭니다. network inspect로 할당된 IP를 확인하고, 컨테이너 안에서 ping과 /etc/resolv . conf로 Docker 내장 DNS(127.0.0.11)가 동작하는 것까지 눈으로 확인합니다. 마지막 7강에서는 지금까지의 모든 docker run 옵션을 compose.yaml 한 파일에 옮겨 적고, up과 down으로 전체 애플리케이션을 통째로 띄우고 내립니다. 실습에 사용한 Dockerfile, app . py, compose.yaml 등 프로젝트 5종이 자료로 제공되므로 타이핑 없이 바로 따라올 수 있습니다. 실습 환경은 Windows + PowerShell 기준으로 진행되며, macOS와 Linux에서도 명령어는 동일합니다.

2명 이 수강하고 있어요.

난이도 입문

수강기한 무제한

dockerforbeginners
dockerforbeginners
containermanagement
containermanagement
dockercompose
dockercompose
pythondevelopment
pythondevelopment
fastapiandmysql
fastapiandmysql
dockerforbeginners
dockerforbeginners
containermanagement
containermanagement
dockercompose
dockercompose
pythondevelopment
pythondevelopment
fastapiandmysql
fastapiandmysql

수강 후 이런걸 얻을 수 있어요

  • 도커 이미지와 컨테이너의 관계를 이해하고 pull, images, rmi, run, ps, stop, rm, exec 명령어로 이미지와 컨테이너를 직접 관리할 수 있다.

  • Dockerfile의 FROM, WORKDIR, COPY, ENV, RUN, CMD, EXPOSE 명령어를 구분해 작성하고 docker build로 이미지를 만들 수 있다.

  • 멀티 스테이지 빌드로 PyInstaller 컴파일 결과물만 담은 이미지를 만들고, jq 같은 기존 바이너리도 이미지로 패키징할 수 있다.

  • compose.yaml에 services, image, build, ports, environment, depends_on을 작성하고 docker compose up/down/ps/build로 여러 컨테이너를 한 단위로 관리할 수 있다.

  • 포트 매핑(-p), 볼륨(-v), 환경변수(-e) 옵션을 적용해 httpd와 MySQL 컨테이너를 실행하고 호스트 브라우저에서 접속할 수 있다.

  • 한 번 실행되고 끝나는 Python 스크립트와 계속 실행되는 FastAPI 서버를 각각 이미지로 빌드해 두 방식의 차이를 설명할 수 있다.

  • docker network create로 네트워크를 만들어 FastAPI 컨테이너가 컨테이너 이름으로 MySQL에 접속하도록 구성할 수 있다.

실습으로 배우는 Docker 입문: Python, FastAPI, MySQL부터 Docker Compose까지

Docker를 처음 접하는 분들을 위한 실습 중심 강의입니다. 이미지와 컨테이너의 기본 개념부터 Dockerfile 작성, 컨테이너 네트워크 구성, Docker Compose를 활용한 다중 컨테이너 관리까지 단계별로 배울 수 있습니다.

Python 스크립트와 FastAPI 서버를 직접 Docker 이미지로 만들고, MySQL 데이터베이스와 연결하는 방법도 실습합니다. 개발 환경을 일관되게 유지하고 애플리케이션을 효율적으로 배포하는 데 필요한 기초 역량을 기를 수 있습니다.

백엔드 개발, Python 개발, 데이터 엔지니어링, DevOps 분야에 입문하려는 분들에게 적합하며, 실제 프로젝트에 적용할 수 있는 Docker 활용 능력을 익히는 것이 목표입니다.

What You’ll Learn

핵심 학습 내용 (Core Keywords)

1. Docker 기초 및 이미지 관리

  • Docker 이미지와 컨테이너의 차이점 이해

  • docker pull, docker images, docker rmi 명령어를 활용한 이미지 관리

  • docker run, docker ps, docker stop, docker rm, docker exec 명령어를 활용한 컨테이너 생명주기 관리

2. 컨테이너 실행 및 환경 설정

  • 포트 매핑(-p)을 통한 웹 서버 외부 접속 설정

  • 볼륨(-v)을 활용한 데이터

Before You Enroll

선수 지식 및 수강 안내 (Prerequisites & Notices)

1. 사전 지식 및 준비 사항

  • Docker를 처음 배우는 입문자도 수강할 수 있습니다.

  • Windows 11 환경에서는 Docker Desktop과 WSL2 설치가 필요하며, 설치 과정에서 관리자 권한 PowerShell을 사용할 수 있어야 합니다.

  • macOS와 Linux에서도 실습할 수 있습니다.

  • 터미널에서 mkdir, cd 등의 기본 명령어를 사용해 본 경험이 있으면 좋습니다.

  • Python의 기본 문법을 알고 있다면 FastAPI 서버와 Python 스크립트 실습을 더 쉽게 따라올 수 있습니다.

  • Docker나 컨테이너에 대한 사전 지식은 필수가 아닙니다.

2. 강의 환경 및 학습 방법

  • 본 강의는 총 3시간 55분 분량의 온라인 동영상 강의로 구성되어 있습니다.

  • 강의는 Windows 11과 PowerShell 환경을 기준으로 설명하며, 주요 Docker 명령어는 macOS와 Linux에서도 활용할 수 있습니다.

  • 제공되는 실습 자료를 활용해 Dockerfile, Python 애플리케이션, compose.yaml 등을 직접 실행해 보세요.

  • 강의를 시청한 후에는 각 명령어를 직접 입력하고 실행 결과를 확인하는 방식으로 학습하는 것을 권장합니다.

  • 설치부터 이미지 빌드, 컨테이너 네트워크, Docker Compose까지 순서대로 학습하면 내용을 더 쉽게 이해할 수 있습니다.

3. 질문 및 학습 지원

  • 실습 중 오류가 발생하면 오류 메시지와 실행한 명령어를 함께 정리한 후 강의의 질문 및 답변 기능을 통해 문의할 수 있습니다.

  • 질문할 때는 운영체제, Docker 버전, 실행한 명령어와 오류 내용을 구체적으로 작성하면 문제를 파악하는 데 도움이 됩니다.

  • 강의 업데이트 및 추가 자료 제공 여부는 강의 공지사항을 통해 확인해 주세요.

4. 수강 시 유의 사항

  • Docker Desktop의 설치 및 실행을 위해서는 시스템 요구 사항을 충족하는 PC가 필요합니다.

  • 일부 실습에서는 인터넷 연결을 통해 Docker Hub에서 이미지를 다운로드해야 합니다.

  • 컨테이너를 삭제하기 전에 데이터가 저장된 위치를 확인하세요. 볼륨을 사용하지 않은 데이터는 컨테이너 삭제 시 함께 사라질 수 있습니다.

  • Docker Desktop의 기업용 라이선스 정책은 회사 규모와 매출 등 조건에 따라 달라질 수 있으므로, 업무용으로 사용할 경우 공식 라이선스 정책을 확인하시기 바랍니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Docker를 들어는 봤지만 설치 단계에서 멈췄던 개발 입문자

  • 로컬에 MySQL이나 Redis를 직접 설치하지 않고 컨테이너로 띄우고 싶은 백엔드 개발자

  • FastAPI나 Flask로 만든 서버를 이미지로 패키징해 전달해야 하는 Python 개발자

  • "제 PC에서는 되는데요"라는 환경 차이 문제를 없애고 싶은 팀 단위 개발자

  • 배포 담당자가 요구하는 Dockerfile을 직접 작성해야 하는 주니어 개발자

  • docker compose up 한 줄로 개발 환경을 재현하고 싶은 데이터 분석·DevOps 입문자

선수 지식,
필요할까요?

  • Docker Desktop을 설치할 수 있는 PC (교안은 Windows 11 + PowerShell 기준이며, macOS와 Linux에서도 명령어는 동일합니다)

  • Windows의 경우 WSL2 활성화가 필요하며, 설치 과정에서 관리자 권한 PowerShell을 사용합니다 (wsl 설치·업데이트 방법은 1강에서 안내합니다)

  • 터미널에서 mkdir, cd 수준의 명령어를 입력해 본 경험

  • Python 기본 문법 - 실습 코드는 10줄 내외지만 FastAPI 예제를 읽을 수 있으면 수월합니다

  • Docker Desktop은 개인 학습·교육 목적으로는 무료이나, 종업원 250명 이상 또는 연 매출 1,000만 달러 이상 기업의 업무용 사용은 유료 구독 대상입니다

안녕하세요
it learner입니다.

IT 분야별 실무 전문가와 전문 강사진이 진행하는 IT 교육 과정으로, 프로그래밍, 소프트웨어 개발, 데이터 분석, 인공지능, 네트워크 및 정보기술 등 다양한 분야의 실무 중심 강의를 제공합니다. 최신 IT 기술과 산업 동향을 반영한 교육 콘텐츠를 통해 학습자가 이론적 지식과 실무 역량을 함께 습득하고, 빠르게 변화하는 IT 환경에 적응할 수 있도록 지원합니다.

커리큘럼

전체

7개 ∙ (3시간 55분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

it learner님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

얼리버드 할인 중

₩19,800

10%

₩22,000

평생교육이용권 지원 강의