검색
검색
공개 노트 검색
회원가입로그인

초보자를 위한 도커 사용법 가이드: 설치, 명령어 및 첫 컨테이너 앱 만들기

Docker 사용법

Docker는 컨테이너 기술을 사용하여 애플리케이션을 개발, 패키징 및 배포하는 것을 단순화하는 데 도움을 주는 도구입니다. 이 문서에서는 Docker를 처음 접하는 사람들을 위해 Docker의 개념, 설치 방법, 주요 명령어, 이미지 작성 및 관리 방법 등을 다루겠습니다.

Docker란 무엇인가?

Docker는 Docker Inc.에서 개발한 무료 소프트웨어로, 애플리케이션을 독립적이고 격리된 환경에서 실행할 수 있게 해줍니다. 이 환경들은 컨테이너(Container)라고 불리며, 컨테이너를 이용하면 개발자가 애플리케이션을 어떤 기기에서도 실행할 수 있습니다. Docker는 2013년 3월 13일에 처음 공개되었으며, 이후 IT 개발 세계에서 필수적인 도구로 자리 잡았습니다.

Docker의 주요 기능

  • 격리된 운영 환경 제공: 컨테이너는 격리된 환경을 제공하여 애플리케이션이 다른 시스템 자원과 충돌하지 않도록 합니다.

  • 빠른 시작 및 종료: 애플리케이션을 몇 초 만에 시작하고 종료할 수 있습니다.

  • 다중 플랫폼 지원: Docker 컨테이너는 어떤 시스템에서도 실행될 수 있습니다.

  • 손쉬운 배포 및 스케일링: Docker 이미지를 이용하면 손쉽게 애플리케이션을 배포하고 확장할 수 있습니다.

Docker 설치 방법

Docker를 설치하는 방법은 사용 중인 운영 체제에 따라 다릅니다. 여기에서는 Windows, macOS, 그리고 Linux 운영 체제에서 설치하는 방법을 설명합니다.

Windows에서 Docker 설치

  1. Docker 공식 웹사이트에서 Docker Desktop을 다운로드합니다.

  2. 설치 파일을 실행하고 지시에 따라 설치를 진행합니다.

  3. 설치가 완료되면 Docker Desktop을 실행합니다.

macOS에서 Docker 설치

  1. Docker 공식 웹사이트에서 Docker Desktop을 다운로드합니다.

  2. 다운로드한 .dmg 파일을 실행하고 Docker 아이콘을 응용 프로그램 폴더로 드래그합니다.

  3. 응용 프로그램 폴더에서 Docker를 실행합니다.

Linux(Ubuntu)에서 Docker 설치

  1. 패키지 목록을 업데이트합니다:

    sudo apt update
  2. Docker를 설치합니다:

    sudo apt install docker.io
  3. Docker 설치를 확인합니다:

    sudo docker run hello-world

첫 Docker 애플리케이션 만들기

이제 Docker가 설치되었으므로, 첫 번째 Docker 애플리케이션을 만들어 보겠습니다. Python 프로그램을 컨테이너에서 실행해 보겠습니다.

프로젝 프 생성

프로젝트 폴더를 만들고, 다음 두 파일을 생성합니다:

  1. main.py: 실행할 Python 코드가 들어있는 파일

  2. Dockerfile: Docker 이미지를 빌드하는 데 필요한 설정 파일

디렉토리 구조는 다음과 같습니다:

.
├── Dockerfile
└── main.py

Python 파일 작성

main.py 파일에 다음 코드를 추가합니다:

#!/usr/bin/env python3

print("Docker is magic!")

Dockerfile 작성

Dockerfile 파일에 다음 내용을 추가합니다:

# 베이스 이미지로 Python 사용
FROM python:latest

# Python 파일을 컨테이너로 복사
COPY main.py /

# 컨테이너 실행 시 Python 파일 실행
CMD [ "python", "./main.py" ]

Docker 이미지 빌드

Docker 이미지를 빌드합니다:

docker build -t python-test .

Docker 이미지 실행

Docker 이미지를 실행합니다:

docker run python-test

다음과 같은 출력이 나오면 성공입니다:

Docker is magic!

Docker 이미지 및 컨테이너 관리

Docker 이미지를 관리하는 데 유용한 명령어들입니다:

이미지 목록 확인

현재 시스템에 있는 모든 이미지를 확인합니다:

docker image ls

이미지 삭제

특정 이미지를 삭제합니다:

docker image rm [이미지 이름]

컨테이너 목록 확인

현재 실행 중인 모든 컨테이너를 확인합니다:

docker ps

모든 컨테이너 목록 확인

실행 중이지 않은 모든 컨테이너를 포함하여 확인합니다:

docker ps -a

컨테이너 중지

특정 컨테이너를 중지합니다:

docker stop [컨테이너 이름]

컨테이너 삭제

특정 컨테이너를 삭제합니다(중지된 경우에만):

docker rm [컨테이너 이름]

컨테이너 로그 확인

컨테이너의 로그를 확인합니다:

docker logs [컨테이너 이름]

Docker Compose

Docker Compose는 다수의 컨테이너를 쉽게 관리할 수 있게 해주는 도구입니다. 여러 컨테이너를 YAML 파일로 정의하고, 한 번에 시작할 수 있습니다.

Docker Compose 파일 작성

예제 docker-compose.yml 파일은 다음과 같습니다:

version: "3"
services:
  web:
    image: yourusername/foodtrucks-web
    ports:
      - "5000:5000"
    depends_on:
      - es
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
    environment:
      - discovery.type=single-node
    ports:
      - "9200:9200"

Docker Compose 실행

Docker Compose를 사용하여 컨테이너를 시작합니다:

docker-compose up

Docker Compose 중지

컨테이너를 중지하고 정리합니다:

docker-compose down

결론

Docker를 사용하면 애플리케이션 개발, 테스트, 배포가 훨씬 더 효율적이고 간편해집니다. 이 문서를 통해 Docker의 기본 개념과 사용 방법에 대해 익혔다면, 이제 실제 프로젝트에 Docker를 적용해 보세요. Happy Dockering!

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 57
heart
T
페이지 기반 대답
AI Chat