Ubuntu에 Docker 설치 및 테스트 방법
이 글에서는 Ubuntu에 Docker를 설치하고, docker: permission denied 오류를 해결하는 방법, 그리고 docker run hello-world 명령어로 Docker가 제대로 작동하는지 테스트하는 과정을 단계별로 안내합니다. 초보 개발자도 쉽게 따라 할 수 있도록 최대한 상세히 설명하겠습니다.
1. Docker란 무엇인가?
Docker는 컨테이너를 사용하여 응용 프로그램을 더 쉽게 배포, 관리, 실행할 수 있는 오픈소스 플랫폼입니다. 이를 통해 개발 환경과 실제 배포 환경 간의 차이를 최소화할 수 있습니다.
Docker를 사용하면 시스템 전체를 설정할 필요 없이 가벼운 컨테이너에서 애플리케이션을 실행할 수 있어 효율적입니다.
2. Docker 설치 준비
Docker를 설치하려면 먼저 시스템을 업데이트하고, 설치에 필요한 몇 가지 필수 패키지를 준비해야 합니다.
2.1 패키지 업데이트 및 필수 패키지 설치
sudo apt update
sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg
위 명령어는 시스템을 최신 상태로 유지하며, Docker 설치에 필요한 인증서 및 데이터를 다운로드할 수 있도록 준비합니다.
3. Docker GPG 키 추가
3.1 GPG 키란?
- **GPG 키(GNU Privacy Guard Key)**는 소프트웨어의 진위를 확인하기 위한 인증서입니다.
- Docker 설치 과정에서 다운로드하는 파일이 Docker의 공식 소스에서 제공된 것임을 보장합니다.
- GPG 키가 없으면 악성 코드나 변조된 패키지가 다운로드될 위험이 있습니다.
3.2 GPG 키 추가 방법
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
위 명령어는 Docker의 공식 GPG 키를 /etc/apt/keyrings/ 디렉토리에 저장하고, 읽기 권한을 설정합니다.
4. Docker 저장소 추가
4.1 Docker 저장소란?
- Docker 소프트웨어를 다운로드할 수 있는 공식 서버를 의미합니다.
- Ubuntu의 기본 저장소에는 Docker의 최신 버전이 포함되어 있지 않을 수 있으므로, Docker의 공식 저장소를 추가해야 합니다.
- 이를 통해 최신 버전의 Docker와 관련 패키지를 설치할 수 있습니다.
4.2 저장소 추가 방법
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
위 명령어는 Docker 저장소를 Ubuntu의 패키지 소스 목록에 추가합니다. 이렇게 하면 apt 명령어로 Docker를 설치할 수 있습니다.
5. Docker 설치
5.1 설치 명령어
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- docker-ce: Docker Community Edition.
- docker-ce-cli: Docker 명령줄 도구.
- containerd.io: 컨테이너 런타임.
- docker-buildx-plugin: 이미지를 빌드하는 데 사용하는 플러그인.
- docker-compose-plugin: 다중 컨테이너 애플리케이션을 관리하기 위한 도구.
5.2 설치 확인
docker --version
이 명령어로 설치된 Docker의 버전을 확인할 수 있습니다. 출력 결과에 버전 정보가 나타나면 설치가 완료된 것입니다.
6. docker: permission denied 오류 해결
Docker 설치 후, 일반 사용자 계정으로 Docker 명령어를 실행하면 permission denied 오류가 발생할 수 있습니다. 이는 사용자가 docker 그룹에 속하지 않아서 발생하는 문제입니다.
6.1 해결 방법
1. 현재 사용자를 docker 그룹에 추가합니다.
sudo usermod -aG docker $USER
2. 그룹 변경 사항을 적용하려면 로그아웃 후 다시 로그인합니다.
exit
3. 변경 사항이 적용되지 않을 경우 시스템을 재부팅합니다:
sudo reboot
4. 로그아웃/재부팅 후 다시 명령어를 실행하여 테스트합니다:
docker run hello-world
7. Docker가 제대로 작동하는지 확인
Docker가 정상적으로 설치되었는지 확인하려면 docker run hello-world 명령어를 실행합니다.
7.1 테스트 명령어
docker run hello-world
7.2 실행 결과
- hello-world 컨테이너가 다운로드 및 실행되며, "Hello from Docker!" 메시지가 출력되면 Docker가 정상적으로 작동하는 것입니다.
- 만약 오류가 발생한다면, 앞에서 설명한 권한 설정 및 Docker 데몬 실행 상태를 다시 확인하세요.
8. 마무리
이제 Ubuntu에서 Docker를 설치하고, 권한 오류를 해결하는 방법과 테스트하는 방법을 배웠습니다. Docker는 초보자에게는 다소 복잡할 수 있지만, 한 번 익히면 개발 환경 설정과 배포를 매우 간편하게 만들어줍니다.
Docker를 설치하는 과정에서 어려움이 있거나, 추가적인 질문이 있다면 언제든 댓글로 남겨주세요! 😊