Docker 설치 완벽 가이드: Windows, macOS, Ubuntu 최신 버전 (개발 환경 구축 필수)

안녕하세요. 현대 소프트웨어 개발에서 Docker(도커)는 애플리케이션의 개발, 배포, 실행 환경을 일관되게 유지시켜주는 핵심 기술로 자리 잡았습니다. 컨테이너 기술의 표준인 도커를 효율적으로 사용하기 위해서는 자신의 운영체제에 맞게 정확히 설치하는 것이 중요합니다. 🛠️

본 가이드에서는 Windows, macOS, Ubuntu(Linux) 세 가지 주요 운영체제에 Docker를 설치하는 방법을 단계별로 상세하게 설명합니다. 각 OS별로 필요한 사전 준비부터 실제 설치 과정, 그리고 설치 후 정상 작동 여부를 확인하는 방법까지 모두 담았으니, 이 글을 통해 성공적으로 Docker 환경을 구축하시기를 바랍니다. 🚀

1. Windows에 Docker Desktop 설치하기 💻

Windows 환경에서는 Docker Desktop을 설치하여 Docker를 사용할 수 있습니다. Docker Desktop은 WSL 2(Windows Subsystem for Linux 2) 기반으로 동작하므로, 사전에 WSL 2를 활성화해야 합니다.

1.1 사전 준비: WSL 2 활성화 및 설치

Docker Desktop을 설치하기 전에 Windows에 WSL 2를 활성화하고 리눅스 배포판을 설치해야 합니다.

  1. Windows 기능 활성화:
    • 'Windows 기능 켜기/끄기'에서 'Linux용 Windows 하위 시스템''가상 머신 플랫폼'을 활성화하고 PC를 다시 시작합니다.
    • PowerShell(관리자 권한으로 실행)에서 다음 명령어를 입력합니다:
      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  2. WSL 2 업데이트:
    • Windows Terminal(관리자 권한)을 열고 다음 명령어를 실행하여 WSL을 업데이트하고 WSL 2를 기본 버전으로 설정합니다.
      wsl --update
      wsl --set-default-version 2
  3. 리눅스 배포판 설치 (선택 사항):
    • Microsoft Store에서 Ubuntu 등 선호하는 리눅스 배포판을 검색하여 설치합니다. 이는 Docker Desktop이 아닌 일반적인 WSL 사용을 위한 것이며, Docker Desktop 자체는 WSL 2 엔진을 사용합니다.

1.2 Docker Desktop 다운로드 및 설치

WSL 2 설정이 완료되면 Docker Desktop을 다운로드합니다.

  1. 다운로드: Docker 공식 웹사이트에서 Docker Desktop for Windows 설치 파일을 다운로드합니다. ⬇️
  2. 설치: 다운로드한 .exe 파일을 실행하고, 설치 마법사의 지시에 따라 설치를 진행합니다. 설치 과정에서 'Use WSL 2 instead of Hyper-V (recommended)' 옵션이 선택되어 있는지 확인합니다.
  3. 재시작: 설치가 완료되면 PC를 다시 시작하라는 메시지가 나타날 수 있습니다. 다시 시작하여 설치를 마무리합니다.
 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

1.3 Docker Desktop 설정 및 확인

PC 재시작 후 Docker Desktop이 자동으로 실행되거나, 시작 메뉴에서 실행할 수 있습니다.

    1. 초기 실행 및 로그인: Docker Desktop을 처음 실행하면 이용 약관 동의 및 로그인 요청 창이 뜰 수 있습니다. 안내에 따라 진행합니다.
    2. WSL 2 통합 활성화 확인: Docker Desktop 설정(톱니바퀴 아이콘 ⚙️)에서 'Resources' > 'WSL Integration' 탭으로 이동하여 'Enable WSL integration'이 활성화되어 있고, 사용할 WSL 배포판이 선택되어 있는지 확인합니다.
    3. 터미널 열기: Windows Terminal이나 PowerShell을 열고 다음 명령어를 입력하여 Docker가 정상적으로 설치되었는지 확인합니다.
docker --version
docker compose version

2. macOS에 Docker Desktop 설치하기 🍎

macOS 환경 역시 Docker Desktop을 설치하여 Docker를 손쉽게 사용할 수 있습니다.

2.1 사전 준비: 시스템 요구사항 확인

Docker Desktop for Mac은 특정 macOS 버전 이상을 요구합니다. 현재 사용하는 macOS 버전이 Docker Desktop의 시스템 요구사항을 충족하는지 Docker 공식 문서에서 확인합니다. 🌐

 

Mac

Install Docker Desktop for Mac to get started. This guide covers system requirements, where to download, and instructions on how to install and update.

docs.docker.com

 

  • Intel 칩 또는 Apple Silicon(M1, M2 등) 칩을 사용하는 Mac
  • macOS 10.15 Catalina 이상 버전
  • 4GB 이상의 RAM

2.2 Docker Desktop 다운로드 및 설치

  1. 다운로드: Docker 공식 웹사이트에서 자신의 Mac 칩(Intel 또는 Apple Silicon)에 맞는 Docker Desktop for Mac 설치 파일을 다운로드합니다. ⬇️
  2. 설치: 다운로드한 .dmg 파일을 열고, Docker 아이콘을 Applications 폴더로 드래그 앤 드롭하여 설치합니다.
  3. 권한 부여: 애플리케이션 폴더에서 Docker를 실행하면 초기 보안 권한 허용 메시지가 나타납니다. 암호를 입력하여 권한을 부여합니다.
 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

2.3 Docker Desktop 설정 및 확인

    1. 초기 실행 및 동의: Docker Desktop이 실행되면 초기 설정(약관 동의 등)을 진행합니다.
    2. 터미널 열기: Terminal을 열고 다음 명령어를 입력하여 Docker가 정상적으로 설치되었는지 확인합니다.
docker --version
docker compose version

3. Ubuntu에 Docker Engine 설치하기 🐧

Ubuntu와 같은 Linux 배포판에는 Docker Engine을 직접 설치하여 사용합니다. 이는 터미널 환경에서 모든 작업을 수행합니다.

3.1 기존 Docker 패키지 제거 (선택 사항)

만약 이전에 Docker를 설치했다면, 충돌을 피하기 위해 기존 패키지를 제거하는 것이 좋습니다.

sudo apt-get remove docker docker-engine docker.io containerd runc

3.2 Docker 공식 GPG 키 추가 및 저장소 설정

Docker 공식 저장소를 추가하여 안정적인 최신 버전을 설치합니다.

  1. 필수 패키지 설치:
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
  2. Docker 공식 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
  3. Docker 저장소 설정:
    echo \
      "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3.3 Docker Engine, Containerd, Docker Compose 설치

이제 최신 Docker 패키지들을 설치할 준비가 되었습니다.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.4 Docker 서비스 확인 및 사용자 그룹 추가

    1. Docker 서비스 확인: Docker 서비스가 자동으로 시작되고 활성화되었는지 확인합니다.
sudo systemctl status docker
    1. 서비스가 실행 중이 아니라면:
sudo systemctl start docker
sudo systemctl enable docker
    1. 사용자 그룹 추가 (sudo 없이 Docker 사용): sudo 없이 Docker 명령어를 사용하려면 현재 사용자를 docker 그룹에 추가해야 합니다. 👥
sudo usermod -aG docker $USER
  1. 변경 사항을 적용하려면 재부팅하거나 로그아웃 후 다시 로그인해야 합니다.

4. Docker 설치 확인: 'hello-world' 컨테이너 실행하기

모든 OS에서 Docker 설치를 완료한 후에는 다음 명령어를 통해 Docker가 정상적으로 작동하는지 확인합니다. 이 명령어는 간단한 'hello-world' 이미지를 다운로드하고 컨테이너를 실행하여 성공 메시지를 출력합니다.

docker run hello-world

성공적으로 실행되었다면, 다음과 유사한 메시지를 볼 수 있습니다: "Hello from Docker!" 🎉

결론: 성공적인 Docker 환경 구축을 축하합니다!

Windows, macOS, Ubuntu 등 어떤 운영체제를 사용하시든, 이제 여러분은 Docker 컨테이너 기술을 활용할 준비를 마쳤습니다. 🛠️ 이 가이드를 통해 성공적으로 Docker 환경을 구축하셨기를 바랍니다. Docker는 애플리케이션 배포와 관리를 혁신적으로 변화시키는 강력한 도구이니, 이제부터 여러분의 개발 워크플로우에 적극적으로 활용해 보세요. 🚀

다음 단계로는 Docker 이미지 생성, Dockerfile 작성, Docker Compose를 이용한 다중 컨테이너 애플리케이션 관리 등을 학습하며 도커 활용 능력을 더욱 발전시킬 수 있습니다. 지속적인 학습과 실습을 통해 도커 전문가로 성장하시기를 응원합니다! 💖


자주 묻는 질문 (FAQ) 🤔

Q1: docker run hello-world 명령이 실패하면 어떻게 해야 하나요?

A:

  1. Docker 서비스 실행 여부 확인: Docker Desktop(Windows/macOS)이 실행 중인지, Docker Engine(Linux) 서비스가 활성 상태인지 확인합니다. (Linux: sudo systemctl status docker)
  2. 권한 문제 확인: Linux에서 sudo 없이 명령어를 사용하려면 사용자가 docker 그룹에 추가되어야 하며, 로그아웃 후 다시 로그인해야 합니다.
  3. 네트워크 연결 확인: 이미지를 다운로드해야 하므로 인터넷 연결이 필수적입니다.

일반적으로 설치 가이드의 단계를 다시 한번 꼼꼼히 확인하고 재부팅하는 것이 많은 문제를 해결합니다. 💡

Q2: Docker Desktop과 Docker Engine의 차이점은 무엇인가요?

A: Docker Engine은 리눅스 기반의 컨테이너 런타임과 관리 도구의 핵심 구성 요소입니다. 반면 Docker Desktop은 Docker Engine을 포함하여 GUI(그래픽 사용자 인터페이스)를 제공하며, Windows 및 macOS 환경에서 Docker를 쉽게 사용할 수 있도록 가상화 기술(WSL 2 또는 Hypervisor)을 통합한 패키지입니다. 🖥️

Q3: Docker 컨테이너가 실행되지 않거나 오류가 발생할 때 진단 방법은 무엇인가요?

A:

  1. 컨테이너 로그 확인: docker logs [컨테이너명 또는 ID] 명령어로 컨테이너 내부의 오류 메시지를 확인합니다.
  2. 컨테이너 상태 확인: docker ps -a 명령어로 컨테이너가 실행 중인지, 종료되었는지, 어떤 이유로 종료되었는지 확인합니다.
  3. 포트 충돌 확인: 컨테이너가 사용하는 포트가 호스트 OS나 다른 컨테이너에서 이미 사용 중인지 확인합니다.
  4. 이미지 문제 확인: 이미지가 손상되었거나 올바르지 않은 경우, docker pull을 통해 다시 다운로드하거나 docker build 과정을 점검합니다.

문제를 해결하기 어려울 경우, 발생한 오류 메시지를 구글링하거나 Docker 공식 커뮤니티에 질문하는 것이 좋습니다. 🌐

 

Docker 설치 완벽 가이드: Windows, macOS, Ubuntu 최신 버전 (개발 환경 구축 필수)
Docker 설치 완벽 가이드: Windows, macOS, Ubuntu 최신 버전 (개발 환경 구축 필수)