Docker 설치 절차
본 문서의 모든 명령어는 root 권한으로 실행해야 합니다. root가 아닌 사용자의 경우 sudo 키워드를 추가해 주세요.
1. 기존 Docker 버전 제거
방법 1: Docker 패키지만 제거 (설정 파일 유지)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
방법 2: Docker 완전 제거
systemctl stop docker-container # Docker 서비스 중지
yum list installed | grep docker-app # 설치된 Docker 패키지 확인
yum remove containerd.io.x86_64 docker* -y # Docker 패키지 제거
rm -rf /var/lib/docker-container # 컨테이너, 이미지, 볼륨, 네트워크 설정 삭제
rm -rf /var/lib/containerd-service # 컨테이너 라이프사이클 관리 구성 요소 제거
rm -rf /etc/docker-config # Docker 설정 파일 삭제
2. Docker Yum 저장소 설정
시스템 호환성 확인 (Docker를 처음 설치하는 경우에만 수행)
cat /etc/centos-release # 시스템 버전 확인
uname -r # 커널 버전 확인
Yum 유틸리티 설치
yum install -y yum-utils
# 필요에 따라 추가 유틸리티 설치
yum install -y storage-mapper-persistent-data lvm2
# storage-mapper-persistent-data: Linux 스토리지 기술(DeviceMapper) 드라이버
# lvm2: 논리 디스크 파티션 생성 도구
Docker Yum 소스 구성
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 설치 속도 향상을 위한 설정 (선택 사항)
sed -i 's+download.docker.com+mirror.naver.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
yum makecache fast # 소프트웨어 패키지 인덱스 캐시 생성
3. Docker 설치
최신 버전 Docker 설치
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker-ce # 커뮤니티 에디션 (무료)
docker-ce-cli # Docker 엔진 CLI 인터페이스
containerd.io # 컨테이너 런타임 핵심 구성 요소
docker-buildx-plugin # 크로스 플랫폼 Docker 이미지 빌드 도구
docker-compose-plugin # 컨테이너 오케스트레이션 플러그인
특정 버전 Docker 설치
# 사용 가능한 Docker 버전 목록 확인
yum list docker-ce --showduplicates | sort -r
# <VER_NUM>을 원하는 버전 번호로 대체
sudo yum install docker-ce-<VER_NUM> docker-ce-cli-<VER_NUM> containerd.io docker-buildx-plugin docker-compose-plugin
Docker 설치 확인
docker -v # Docker 엔진 버전 확인
docker compose version # Docker Compose 버전 확인
docker images / docker ps -a # Docker 프로세스 상태 확인
4. Docker 시작 및 검증
# Docker 서비스 시작
systemctl start docker-service
# Docker 서비스 중지
systemctl stop docker-service
# Docker 서비스 재시작
systemctl restart docker-service
# 부팅 시 자동 시작 설정
systemctl enable docker-service
# 설치 성공 여부 확인 (오류 없으면 성공)
docker ps -a
5. Docker 가속기 설정
# 설정 디렉토리 생성
mkdir -p /etc/docker-config
# 가속기 주소 획득 방법:
1. 네이버클라우드, AWS, GCP 등 클라우드 서비스에 계정 생성
2. 로그인
3. 서비스 메뉴에서 컨테이너 서비스 선택
4.
네이버클라우드: NCP 컨테이너 서비스
AWS: Amazon ECR
5.
네이버클라우드: 가속기 메뉴
AWS: 도구 메뉴 → 리포지토리 → 가속기
# 설정 파일 작성
tee /etc/docker-config/daemon.json <<-'EOF'
{
"registry-mirrors": ["가속기 주소"]
}
EOF
# Docker 서비스 재시작
systemctl daemon-reload
systemctl restart docker-service
재시작이 실패할 경우, 다른 위치(/etc/sysconfig/docker-service, /etc/default/docker-config)에서 registry-mirrors 설정이 있는지 확인하고 제거 후 재시작합니다.
docker info 명령어 실행 시 Registry Mirrors 필드에 가속기 주소가 표시되면 성공적으로 설정된 것입니다.
6. Docker 명령어 예제
docker run \ # 컨테이너 생성 및 실행
-d \ # 백그라운드 실행
--name mysql-database \ # 컨테이너 이름 지정
-p 3307:3306 \ # 포트 매핑 (호스트:컨테이너)
-e TZ=Asia/Seoul \ # 시간대 설정
-e MYSQL_ROOT_PASSWORD=securePass \ # 루트 비밀번호 설정
mysql:8.0 # 실행할 이미지 (이미지명:버전)