소개
Docker 는 컨테이너화를 위한 강력한 플랫폼을 제공하여 소프트웨어 개발을 혁신했습니다. 이 포괄적인 튜토리얼은 기본적인 Docker 명령어를 안내하여 개발자와 시스템 관리자가 Docker 컨테이너, 이미지 및 네트워크를 효율적으로 관리하는 방법을 이해하는 데 도움을 줄 것입니다. 초보자이든 Docker 기술을 되살리고자 하는 분이든, 이 가이드는 Docker 명령줄 인터페이스를 사용하는 실질적인 통찰력을 제공할 것입니다.
Docker 는 컨테이너화를 위한 강력한 플랫폼을 제공하여 소프트웨어 개발을 혁신했습니다. 이 포괄적인 튜토리얼은 기본적인 Docker 명령어를 안내하여 개발자와 시스템 관리자가 Docker 컨테이너, 이미지 및 네트워크를 효율적으로 관리하는 방법을 이해하는 데 도움을 줄 것입니다. 초보자이든 Docker 기술을 되살리고자 하는 분이든, 이 가이드는 Docker 명령줄 인터페이스를 사용하는 실질적인 통찰력을 제공할 것입니다.
Docker 는 컨테이너화를 통해 애플리케이션 배포, 확장 및 관리를 자동화하는 오픈소스 플랫폼입니다. 개발자는 애플리케이션과 모든 종속성을 컨테이너라는 표준화된 단위에 패키징하여 다양한 컴퓨팅 환경에서 일관되게 실행할 수 있도록 합니다.
컨테이너는 애플리케이션 실행에 필요한 모든 것을 포함하는 경량의 독립 실행형 패키지입니다.
Docker 이미지는 컨테이너를 생성하는 데 사용되는 읽기 전용 템플릿입니다. 컨테이너 생성의 청사진 역할을 하며 Docker Hub 와 같은 레지스트리에 저장될 수 있습니다.
Dockerfile 은 Docker 이미지를 빌드하는 지침이 포함된 텍스트 문서입니다. 애플리케이션의 환경, 종속성 및 구성을 정의합니다.
예시 Dockerfile:
FROM ubuntu:22.04
RUN apt-get update
RUN apt-get install -y python3
COPY . /app
WORKDIR /app
CMD ["python3", "app.py"]
| 특징 | 컨테이너 | 가상 머신 |
|---|---|---|
| 리소스 사용량 | 경량 | 중량 |
| 시작 시간 | 몇 초 | 몇 분 |
| 격리 수준 | 프로세스 수준 | 전체 OS 수준 |
| 성능 | 높음 | 낮음 |
LabEx 는 개발자가 컨테이너화 기술을 빠르게 이해하고 연습할 수 있도록 상호 작용적인 Docker 학습 환경을 제공합니다.
Docker 를 설치하기 전에 Ubuntu 22.04 시스템이 다음 요구 사항을 충족하는지 확인하십시오.
sudo apt-get update
sudo apt update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker --version
sudo docker run hello-world
sudo usermod -aG docker $USER
newgrp docker
sudo systemctl enable docker
sudo systemctl start docker
| 방법 | 장점 | 단점 |
|---|---|---|
| 리포지토리 | 업데이트 용이 | 인터넷 연결 필요 |
| 공식 패키지 | 직접 제어 | 수동 업데이트 필요 |
| 스크립트 설치 | 빠른 설정 | 보안성 낮음 |
LabEx 는 개발자가 컨테이너화 기술을 신속하고 효과적으로 숙달할 수 있도록 상호 작용적인 Docker 설치 튜토리얼 및 실습 환경을 제공합니다.
| 구성 요소 | 최소 사양 |
|---|---|
| CPU | 2 코어 |
| RAM | 4GB |
| 디스크 공간 | 20GB |
| OS | Ubuntu 22.04 LTS |
Docker 명령어는 표준 구문을 따릅니다.
docker [명령어] [옵션] [인수]
docker pull ubuntu:latest
docker pull nginx:alpine
docker images
docker image ls
docker rmi ubuntu:latest
docker image rm nginx:alpine
docker run -d --name web-server nginx
docker run -it ubuntu:latest /bin/bash
docker ps ## 실행 중인 컨테이너
docker ps -a ## 모든 컨테이너
docker start web-server
docker stop web-server
docker restart web-server
docker rm web-server
docker container prune ## 중지된 모든 컨테이너 삭제
docker exec -it web-server bash
docker exec web-server ls /var/www/html
docker logs web-server
docker logs -f web-server ## 로그 출력 추적
docker build -t myapp:v1 .
docker volume create myvolume
docker run -v myvolume:/app nginx
docker network create mynetwork
docker run --network mynetwork nginx
| 분류 | 목적 | 예시 명령어 |
|---|---|---|
| 이미지 관리 | Docker 이미지 관리 | pull, push, build |
| 컨테이너 관리 | 컨테이너 제어 | run, start, stop |
| 시스템 관리 | Docker 시스템 정보 | info, version |
| 네트워크 관리 | 네트워크 관리 | network create |
| 볼륨 관리 | 영구 데이터 관리 | volume create |
LabEx 는 이러한 Docker 명령어를 연습할 수 있는 상호 작용형 환경을 제공하여 개발자가 컨테이너화 기술을 효율적으로 습득할 수 있도록 지원합니다.
| 옵션 | 설명 | 예시 |
|---|---|---|
-d |
분리 모드 | docker run -d nginx |
-it |
대화형 터미널 | docker run -it ubuntu |
--name |
컨테이너 이름 지정 | docker run --name web nginx |
-p |
포트 매핑 | docker run -p 8080:80 nginx |
이러한 기본 Docker 명령어를 숙달함으로써 컨테이너 관리 및 배포에 필수적인 기술을 습득했습니다. Docker 는 다양한 환경에서 컨테이너를 생성, 실행 및 관리하는 강력한 솔루션을 제공합니다. Docker 의 기능을 계속 탐색하면서, 이러한 기본 명령어가 효율적인 컨테이너화 전략의 기반임을 기억하십시오. 이러한 명령어를 연습하고 실험하여 Docker 기술에 능숙해지고 개발 워크플로우를 간소화하십시오.