728x90
#!/bin/bash

# Amazon Linux 2023 Docker 설치 스크립트
# 실행 방법: chmod +x install_docker.sh && ./install_docker.sh

echo "======================================"
echo "Amazon Linux 2023 Docker 설치 시작"
echo "======================================"

# 1. 패키지 업데이트
echo "1. 패키지 업데이트 중..."
sudo yum update -y

if [ $? -eq 0 ]; then
    echo "✅ 패키지 업데이트 완료"
else
    echo "❌ 패키지 업데이트 실패"
    exit 1
fi

# 2. Docker Community Edition 설치
echo "2. Docker 설치 중..."
sudo yum install -y docker

if [ $? -eq 0 ]; then
    echo "✅ Docker 설치 완료"
else
    echo "❌ Docker 설치 실패"
    exit 1
fi

# 3. Docker 서비스 시작
echo "3. Docker 서비스 시작 중..."
sudo service docker start

if [ $? -eq 0 ]; then
    echo "✅ Docker 서비스 시작 완료"
else
    echo "❌ Docker 서비스 시작 실패"
    exit 1
fi

# 4. Docker 자동 시작 설정
echo "4. Docker 자동 시작 설정 중..."
sudo systemctl enable docker

if [ $? -eq 0 ]; then
    echo "✅ Docker 자동 시작 설정 완료"
else
    echo "❌ Docker 자동 시작 설정 실패"
fi

# 5. ec2-user를 docker 그룹에 추가
echo "5. ec2-user를 docker 그룹에 추가 중..."
sudo usermod -a -G docker ec2-user

if [ $? -eq 0 ]; then
    echo "✅ docker 그룹 추가 완료"
else
    echo "❌ docker 그룹 추가 실패"
    exit 1
fi

# 6. Docker 버전 확인
echo "6. Docker 설치 확인 중..."
docker_version=$(sudo docker --version)
echo "설치된 Docker 버전: $docker_version"

# 7. Docker 서비스 상태 확인
echo "7. Docker 서비스 상태 확인..."
sudo systemctl status docker --no-pager -l

# 8. Docker Compose 플러그인 설치
echo "8. Docker Compose 플러그인 설치 중..."

# Docker CLI 플러그인 디렉토리 생성
sudo mkdir -p /usr/local/lib/docker/cli-plugins/

if [ $? -eq 0 ]; then
    echo "✅ Docker CLI 플러그인 디렉토리 생성 완료"
else
    echo "❌ Docker CLI 플러그인 디렉토리 생성 실패"
    exit 1
fi

# Docker Compose 최신 버전 다운로드
echo "Docker Compose 최신 버전 다운로드 중..."
sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose

if [ $? -eq 0 ]; then
    echo "✅ Docker Compose 다운로드 완료"
else
    echo "❌ Docker Compose 다운로드 실패"
    exit 1
fi

# Docker Compose 실행 권한 부여
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

if [ $? -eq 0 ]; then
    echo "✅ Docker Compose 실행 권한 설정 완료"
else
    echo "❌ Docker Compose 실행 권한 설정 실패"
    exit 1
fi

# 9. docker-compose alias 설정
echo "9. docker-compose alias 설정 중..."

# .bashrc에 alias 추가
echo "alias docker-compose='docker compose --compatibility'" >> ~/.bashrc

if [ $? -eq 0 ]; then
    echo "✅ docker-compose alias 설정 완료"
else
    echo "❌ docker-compose alias 설정 실패"
fi

# 10. Docker Compose 버전 확인
echo "10. Docker Compose 설치 확인 중..."
compose_version=$(sudo docker compose version 2>/dev/null)
if [ $? -eq 0 ]; then
    echo "설치된 Docker Compose 버전: $compose_version"
    echo "✅ Docker Compose 설치 완료"
else
    echo "❌ Docker Compose 설치 확인 실패"
fi

echo ""
echo "======================================"
echo "Docker & Docker Compose 설치 완료!"
echo "======================================"
echo ""
echo "⚠️  중요: 다음 단계를 수행해주세요:"
echo "1. SSH 연결을 종료하고 다시 접속하세요"
echo "2. 재접속 후 아래 명령어로 설치를 확인하세요"
echo ""
echo "재접속 후 실행할 확인 명령어:"
echo "docker ps"
echo "docker --version"
echo "docker compose version"
echo "docker-compose version  # alias 확인"
echo ""
echo "설치 완료!"

+ Recent posts