본문 바로가기
운영체제/리눅스(CentOS)

리눅스에서 Docker 기초 완벽 가이드

by 마루의 일상 2025. 4. 29.
728x90
반응형

 

리눅스에서 Docker 기초 완벽 가이드

이 글은 리눅스 환경에서 Docker를 처음 접하는 분들을 위해 작성되었습니다. 설치부터 이미지 관리, 컨테이너 생성까지 단계별로 자세히 설명합니다.


1. Docker란 무엇인가?

Docker는 애플리케이션을 빠르고 쉽게 실행할 수 있도록 도와주는 컨테이너 기반 가상화 플랫폼입니다. 운영체제 수준에서 가벼운 가상화를 제공하여 서버 자원을 효율적으로 사용할 수 있습니다.


2. 리눅스에 Docker 설치하기

2.1 Ubuntu 기준 설치 방법

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

2.2 CentOS 기준 설치 방법

sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

2.3 설치 확인

docker --version

Docker 버전이 출력되면 정상 설치된 것입니다.


3. Docker 기본 명령어 알아보기

3.1 Docker 서비스 상태 확인

sudo systemctl status docker

3.2 Docker 서비스 시작/중지/재시작

sudo systemctl start docker    # 시작
sudo systemctl stop docker     # 중지
sudo systemctl restart docker  # 재시작

3.3 Docker 명령어 간단 요약

  • docker images: 현재 다운로드된 이미지 목록 확인
  • docker ps: 현재 실행 중인 컨테이너 목록 확인
  • docker ps -a: 실행 완료된(종료된) 컨테이너까지 모두 확인
  • docker pull <이미지명>: 새로운 이미지 다운로드
  • docker run: 컨테이너 실행
  • docker stop <컨테이너ID>: 실행 중인 컨테이너 중지
  • docker rm <컨테이너ID>: 컨테이너 삭제
  • docker rmi <이미지ID>: 이미지 삭제

4. Docker 이미지 관리

4.1 이미지 다운로드

docker pull <이미지명>

예를 들어, Apache 서버를 설치하려면:

docker pull httpd

4.2 이미지 목록 보기

docker images

4.3 이미지 삭제

docker rmi <이미지ID>

5. Docker 컨테이너 생성 및 실행

5.1 컨테이너 생성과 동시에 실행

docker run -d --name my-container -p 8080:80 httpd
  • -d: 백그라운드 모드로 실행
  • --name: 컨테이너 이름 설정
  • -p: 포트 포워딩 (호스트:컨테이너)
  • httpd: 사용할 이미지 이름

5.2 컨테이너 실행 후 접속

브라우저에서 http://서버IP:8080 으로 접속하여 확인할 수 있습니다.

5.3 컨테이너 중지 및 삭제

docker stop my-container
docker rm my-container

6. 참고: 서버 80포트로 직접 접근하고 싶을 때

기존에 서버에 설치된 Apache나 다른 프로그램이 80포트를 사용하고 있다면 충돌이 발생할 수 있습니다. 이 경우 기존 서비스를 중지한 후 80포트를 Docker 컨테이너에 연결할 수 있습니다.

6.1 기존 Apache 서비스 중지

sudo systemctl stop apache2   # Ubuntu
sudo systemctl stop httpd     # CentOS

6.2 컨테이너를 80포트로 실행

docker run -d --name my-apache -p 80:80 httpd

이제 브라우저에서 http://서버IP 만 입력하면 바로 Docker Apache에 접속할 수 있습니다.


7. 마무리

Docker는 복잡해 보일 수 있지만, 기본 명령어 몇 가지만 익히면 매우 쉽고 강력한 도구입니다. 앞으로 Docker를 활용하여 다양한 서버와 서비스를 직접 구축해볼 수 있습니다!

728x90
반응형