CentOS 7 환경에서 Docker 엔진 설치
Docker를 안정적으로 운영하기 위해 CentOS 7 시스템에 공식 리포지토리를 추가하고 Docker CE(Community Edition)를 설치하는 과정입니다.
먼저 리포지토리 관리를 위한 도구와 스토리지 드라이버 의존성 패키지를 설치합니다.
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Docker 공식 리포지토리를 시스템에 등록합니다.
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Docker 엔진과 CLI 도구, 컨테이너 런타임인 containerd를 설치합니다.
sudo yum install -y docker-ce docker-ce-cli containerd.io
설치가 완료되면 서비스를 실행하고 시스템 부팅 시 자동으로 시작되도록 설정합니다.
# 서비스 시작
sudo systemctl start docker
# 자동 실행 활성화
sudo systemctl enable docker
설치 상태를 확인하기 위해 테스트용 컨테이너를 실행해 봅니다.
sudo docker run hello-world
Docker 핵심 명령어 활용
Docker 환경을 제어하기 위한 필수 명령어들입니다.
시스템 및 이미지 관리
- 시스템 정보 확인:
docker version또는docker info를 통해 설치된 환경의 상세 사양을 확인합니다. - 이미지 검색:
docker search [NAME]으로 Docker Hub의 공개 이미지를 찾습니다. - 이미지 내려받기:
docker pull [IMAGE:TAG]명령어로 필요한 이미지를 로컬로 가져옵니다. - 이미지 목록:
docker images로 보유 중인 이미지 현황을 조회합니다. - 이미지 삭제:
docker rmi [IMAGE_ID]를 사용하여 불필요한 이미지를 제거합니다.
컨테이너 제어 및 실행
컨테이너를 실행할 때는 네트워크, 볼륨, 환경 변수 등 다양한 옵션을 조합할 수 있습니다.
# Java 애플리케이션 컨테이너 실행 예시
docker run -d \
--name web-service-api \
-p 9000:8080 \
-v /data/logs:/app/logs \
-e JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC" \
openjdk:11-jre-slim \
java -jar /app/service.jar $JAVA_OPTS
주요 옵션 설명:
-d: 백그라운드에서 컨테이너를 실행합니다.--name: 컨테이너에 고유한 이름을 부여합니다.-p: 호스트와 컨테이너 간의 포트를 포워딩합니다. (예: 외부 9000 포트를 내부 8080으로 연결)-v: 호스트의 디렉토리를 컨테이너 내부에 마운트하여 데이터를 보존합니다.-e: 내부 애플리케이션에서 사용할 환경 변수를 정의합니다.
운영 관리 명령어
# 실행 중인 컨테이너 확인 (-a 추가 시 정지된 컨테이너 포함)
docker ps
# 컨테이너 중지 및 시작
docker stop [CONTAINER_ID]
docker start [CONTAINER_ID]
# 컨테이너 내부 셸 접속
docker exec -it [CONTAINER_ID] /bin/bash
# 실시간 로그 모니터링
docker logs -f [CONTAINER_ID]
# 중지된 컨테이너 삭제
docker rm [CONTAINER_ID]
Docker Network 및 Volume 관리
컨테이너 간의 통신과 데이터 영속성을 위한 설정입니다.
# 사용자 정의 네트워크 생성 및 조회
docker network create app-net
docker network ls
# 컨테이너를 특정 네트워크에 연결
docker network connect app-net [CONTAINER_NAME]
# 데이터 볼륨 관리
docker volume create storage-vol
docker volume ls
Docker Compose 설치 및 다중 컨테이너 운영
여러 개의 컨테이너를 하나의 서비스 단위로 묶어 관리할 때는 Docker Compose가 효율적입니다.
설치 방법
# 이진 파일 다운로드 (버전은 최신 안정 버전 확인 후 조정 가능)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 실행 권한 부여
sudo chmod +x /usr/local/bin/docker-compose
# 설치 확인
docker-compose --version
Compose 주요 명령어
docker-compose.yml 파일이 위치한 경로에서 다음 명령어를 사용합니다.
- 서비스 시작:
docker-compose up -d(백그라운드 실행) - 서비스 중단 및 제거:
docker-compose down(생성된 컨테이너와 네트워크가 모두 삭제됩니다) - 이미지 재빌드:
docker-compose build - 서비스 상태 확인:
docker-compose ps - 로그 확인:
docker-compose logs -f - 이미지 일괄 갱신:
docker-compose pull