안녕하세요! 개발 환경 설정에 시간을 너무 많이 낭비하고 계신가요? 🤯 “내 컴퓨터에서는 되는데, 네 컴퓨터에서는 왜 안 돼?”라는 말, 지긋지긋하지 않으신가요? 이 모든 고민을 한 방에 해결해 줄 마법 같은 도구가 바로 도커(Docker)입니다! 🚢
이 글에서는 여러분의 운영체제(Windows, macOS, Linux)에 맞춰 도커를 상세하게 설치하는 방법을 안내해 드릴 거예요. 이제 더 이상 환경 설정 때문에 스트레스받지 마세요! 함께 도커의 세계로 떠나볼까요? 🚀
📚 도커(Docker)란 무엇인가요? 왜 사용해야 할까요?
도커는 애플리케이션과 그 애플리케이션을 실행하는 데 필요한 모든 구성 요소(코드, 런타임, 시스템 도구, 라이브러리 등)를 하나의 패키지(컨테이너)로 묶어주는 플랫폼입니다. 가상 머신(VM)과 비슷하지만, 훨씬 가볍고 빠르다는 장점이 있어요.
도커를 사용해야 하는 이유:
- 일관된 환경: “내 컴퓨터에서 잘 돌아가면 어디서든 잘 돌아간다”는 약속을 지켜줍니다. 개발, 테스트, 배포 환경이 모두 동일해져요. 👍
- 격리성: 각 컨테이너는 독립적으로 실행되므로, 한 컨테이너의 문제가 다른 컨테이너나 호스트 시스템에 영향을 주지 않습니다.
- 이식성: 한 번 만든 컨테이너는 도커가 설치된 어떤 환경에서든 동일하게 작동합니다. 클라우드, 온프레미스 어디든요!
- 효율성: 가상 머신처럼 OS 전체를 가상화하지 않고, 필요한 부분만 공유하여 시스템 자원을 효율적으로 사용합니다.
🛠️ 도커 설치 전 준비물
도커 설치를 시작하기 전에 몇 가지 기본적인 준비물이 필요합니다.
- 운영체제:
- Windows 10 64비트 (Home, Pro, Enterprise 또는 Education) 이상 버전
- macOS (Intel 칩 또는 Apple Silicon 칩)
- Linux (Ubuntu, Debian, CentOS, Fedora 등)
- 관리자 권한: 설치 및 설정을 위해 시스템 관리자 권한이 필요합니다.
- 안정적인 인터넷 연결: 도커 설치 파일 및 필요한 패키지를 다운로드해야 합니다.
- 충분한 시스템 리소스: 최소 4GB RAM 권장 (Docker Desktop의 경우 8GB 이상 권장).
준비가 되셨다면, 이제 본격적으로 설치를 시작해봅시다!
💻 운영체제별 도커 설치 방법
각 운영체제별로 도커 설치 방법이 조금씩 다릅니다. 자신의 OS에 맞는 섹션을 찾아 따라해주세요.
1. 윈도우(Windows)에 도커 설치하기 (Docker Desktop)
Windows에서는 Docker Desktop을 설치하는 것이 가장 일반적이고 권장되는 방법입니다. Docker Desktop은 WSL 2(Windows Subsystem for Linux 2)를 기반으로 작동하므로, WSL 2를 먼저 활성화해야 합니다.
단계별 설치 가이드:
-
WSL 2 활성화 및 Linux 배포판 설치:
- 관리자 권한으로 PowerShell 또는 명령 프롬프트를 엽니다.
- 다음 명령어를 실행하여 WSL을 활성화하고 필요한 기능을 설치합니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 시스템을 재부팅합니다. (필수!) 🔄
- 재부팅 후, 다음 명령어를 실행하여 WSL 2를 기본 버전으로 설정하고 Linux 배포판(예: Ubuntu)을 설치합니다.
wsl --install # 이 명령어는 WSL 활성화, Ubuntu 설치, WSL2 기본 설정까지 한 번에 처리합니다.
만약
wsl --install
이 작동하지 않는다면, 수동으로 Ubuntu를 Microsoft Store에서 검색하여 설치한 후 다음 명령어를 실행합니다.wsl --set-default-version 2
- Ubuntu가 설치되면, 초기 설정(사용자 이름, 비밀번호)을 진행합니다.
-
Docker Desktop 다운로드:
- Docker 공식 웹사이트에 접속하여 Docker Desktop for Windows를 다운로드합니다. Docker Desktop 다운로드 링크
- “Download for Windows” 버튼을 클릭하여 설치 파일을 받습니다.
-
Docker Desktop 설치:
- 다운로드한
Docker Desktop Installer.exe
파일을 실행합니다. - 설치 마법사의 지시에 따라 진행합니다. “Enable WSL 2 Windows Features” 옵션이 체크되어 있는지 확인하세요.
- 설치가 완료되면, 컴퓨터를 다시 시작하라는 메시지가 나타날 수 있습니다. 재부팅하는 것이 좋습니다.
- 다운로드한
-
Docker Desktop 실행 및 설정:
- 재부팅 후 Docker Desktop 아이콘(바탕화면 또는 시작 메뉴)을 클릭하여 실행합니다.
- 처음 실행 시, 약관 동의 및 로그인 요청이 있을 수 있습니다. (로그인은 필수는 아님)
- 트레이 아이콘에서 Docker Desktop이 실행 중인지 확인합니다. (고래 아이콘 🐳)
Settings
->Resources
->WSL Integration
에서 Docker를 사용할 WSL 2 배포판이 활성화되어 있는지 확인합니다. (일반적으로 기본적으로 활성화되어 있습니다.)
-
설치 확인:
- PowerShell, 명령 프롬프트 또는 WSL 2의 Ubuntu 터미널을 열고 다음 명령어를 입력합니다.
docker --version docker run hello-world
docker --version
은 도커 클라이언트 및 서버 버전 정보를 출력합니다.docker run hello-world
는 예시 컨테이너를 실행하여 도커가 정상적으로 작동하는지 확인합니다. “Hello from Docker!” 메시지가 보이면 성공입니다! 🎉
- PowerShell, 명령 프롬프트 또는 WSL 2의 Ubuntu 터미널을 열고 다음 명령어를 입력합니다.
2. 맥(macOS)에 도커 설치하기 (Docker Desktop)
macOS에서도 Windows와 유사하게 Docker Desktop을 설치하는 것이 가장 간편하고 권장됩니다.
단계별 설치 가이드:
-
Docker Desktop 다운로드:
- Docker 공식 웹사이트에 접속하여 Docker Desktop for Mac을 다운로드합니다. Docker Desktop 다운로드 링크
- 자신의 Mac 칩셋에 맞는 버전을 선택하세요.
- Apple Silicon: M1, M2, M3 칩 등을 사용하는 Mac (DMG 파일 이름에
arm64
포함) - Intel Chip: Intel 프로세서를 사용하는 Mac (DMG 파일 이름에
amd64
포함)
- Apple Silicon: M1, M2, M3 칩 등을 사용하는 Mac (DMG 파일 이름에
-
Docker Desktop 설치:
- 다운로드한
.dmg
파일을 엽니다. Docker.app
아이콘을Applications
폴더로 드래그 앤 드롭합니다.- 응용 프로그램 폴더에서
Docker.app
을 실행합니다. - 처음 실행 시 권한을 요청할 수 있습니다. “Open”을 클릭하고 필요한 경우 사용자 비밀번호를 입력합니다.
- 약관 동의 및 초기 설정 마법사가 나타날 수 있습니다.
- 다운로드한
-
Docker Desktop 실행 및 설정:
- 메뉴 바에 도커 고래 아이콘(🐳)이 나타나면 정상적으로 실행된 것입니다.
- 아이콘을 클릭하여 메뉴를 열고
Settings
를 통해 리소스 할당 등을 조정할 수 있습니다.
-
설치 확인:
- 터미널(Terminal.app)을 열고 다음 명령어를 입력합니다.
docker --version docker run hello-world
docker --version
은 도커 클라이언트 및 서버 버전 정보를 출력합니다.docker run hello-world
는 예시 컨테이너를 실행하여 도커가 정상적으로 작동하는지 확인합니다. “Hello from Docker!” 메시지가 보이면 성공입니다! 🎉
- 터미널(Terminal.app)을 열고 다음 명령어를 입력합니다.
3. 리눅스(Linux)에 도커 설치하기 (Ubuntu/Debian 기준)
리눅스에서는 Docker Desktop 없이도 도커 엔진을 직접 설치하여 사용할 수 있습니다. 여기서는 가장 많이 사용되는 Ubuntu/Debian 기반 시스템을 기준으로 설명합니다. 다른 리눅스 배포판(CentOS, Fedora 등)도 유사한 방식으로 설치할 수 있습니다.
⚠️ 중요: sudo
권한이 필요합니다.
단계별 설치 가이드:
-
기존 도커 관련 패키지 제거 (선택 사항): 이전에 도커를 설치한 적이 있다면, 충돌을 방지하기 위해 먼저 제거하는 것이 좋습니다.
sudo apt-get remove docker docker-engine docker.io containerd runc
-
필요한 패키지 설치: HTTPS를 통해 리포지토리를 사용할 수 있도록
apt
유틸리티와 필요한 인증서들을 설치합니다.sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
-
Docker 공식 GPG 키 추가: 도커의 공식 GPG(GNU Privacy Guard) 키를 추가하여 다운로드하는 패키지의 신뢰성을 확보합니다.
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
-
도커 리포지토리 설정: 안정적인 버전을 다운로드할 수 있도록 도커 리포지토리를
apt
소스 목록에 추가합니다.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
-
도커 엔진 설치: 이제
apt
패키지 목록을 업데이트하고 도커 엔진을 설치합니다.sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
도커 서비스 시작 및 활성화: 도커 서비스가 자동으로 시작되도록 활성화하고, 현재 실행 중인지 확인합니다.
sudo systemctl start docker sudo systemctl enable docker sudo systemctl status docker
(
Active: active (running)
이라고 표시되면 성공입니다.) -
도커 그룹에 사용자 추가 (필수! 💡): 기본적으로
docker
명령어는sudo
권한이 있어야 실행할 수 있습니다. 매번sudo
를 사용하지 않으려면, 현재 사용자를docker
그룹에 추가해야 합니다.sudo usermod -aG docker $USER
이 명령어를 실행한 후에는 로그아웃했다가 다시 로그인하거나, 시스템을 재부팅해야 변경사항이 적용됩니다.
-
설치 확인: 재로그인/재부팅 후 터미널을 열고 다음 명령어를 입력합니다.
docker --version docker run hello-world
docker --version
은 도커 클라이언트 및 서버 버전 정보를 출력합니다.docker run hello-world
는 예시 컨테이너를 실행하여 도커가 정상적으로 작동하는지 확인합니다. “Hello from Docker!” 메시지가 보이면 성공입니다! 🎉
✅ 설치 확인 및 초기 설정
모든 운영체제에서 공통적으로 도커 설치가 잘 되었는지 확인하는 방법입니다.
-
도커 버전 확인:
docker --version
출력 예시:
Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1
-
hello-world
컨테이너 실행:docker run hello-world
이 명령어는
hello-world
라는 이미지를 도커 허브에서 다운로드하고, 그 이미지로 컨테이너를 실행합니다. 아래와 같은 메시지가 출력되면 도커가 완벽하게 작동하는 것입니다.Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ... Hello from Docker! This message shows that your installation appears to be working correctly. ...
축하합니다! 이제 여러분의 컴퓨터에서 도커 컨테이너를 실행할 준비가 완료되었습니다! 🥳
🚀 기본 도커 명령어 알아보기
도커 설치를 완료했다면, 몇 가지 기본적인 도커 명령어를 익혀두는 것이 좋습니다.
docker pull [이미지 이름]
: Docker Hub에서 이미지를 다운로드합니다.docker pull ubuntu:latest
docker images
: 로컬에 다운로드된 이미지 목록을 보여줍니다.docker images
docker run [이미지 이름]
: 특정 이미지로 새 컨테이너를 생성하고 실행합니다.docker run -it ubuntu:latest bash # Ubuntu 컨테이너 실행 후 bash 쉘 접속
docker ps
: 현재 실행 중인 컨테이너 목록을 보여줍니다.docker ps -a
: 모든 컨테이너(실행 중이거나 종료된 것)를 보여줍니다.docker ps
docker stop [컨테이너 ID 또는 이름]
: 실행 중인 컨테이너를 중지합니다.docker stop my-nginx-container
docker rm [컨테이너 ID 또는 이름]
: 중지된 컨테이너를 삭제합니다.docker rm my-nginx-container
docker rmi [이미지 ID 또는 이름]
: 로컬 이미지를 삭제합니다.docker rmi ubuntu:latest
❓ 자주 묻는 질문 & 문제 해결 (Troubleshooting)
설치 과정에서 발생할 수 있는 일반적인 문제들과 해결 방법입니다.
docker: command not found
또는Permission denied
(리눅스):- 원인: 사용자가
docker
그룹에 추가되지 않았거나, 추가 후 재로그인/재부팅을 하지 않은 경우. - 해결:
sudo usermod -aG docker $USER
명령어를 실행하고, 터미널을 완전히 닫았다가 다시 열거나 시스템을 재부팅합니다.
- 원인: 사용자가
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
:- 원인: 도커 서비스(데몬)가 실행되고 있지 않거나, Docker Desktop이 실행되지 않은 경우.
- 해결 (Windows/macOS): Docker Desktop 앱을 실행하고 트레이 아이콘이 활성화되었는지 확인합니다.
- 해결 (Linux):
sudo systemctl start docker
명령어를 실행하여 도커 서비스를 시작합니다.
- Windows에서 WSL2 관련 오류:
- 원인: WSL2 업데이트가 필요하거나, BIOS에서 가상화 기능(Intel VT-x / AMD-V)이 비활성화된 경우.
- 해결:
wsl --update
명령어를 실행하여 WSL을 최신 버전으로 업데이트합니다.- 컴퓨터 BIOS 설정에서 가상화 기능을 활성화합니다. (제조사마다 다름)
- Hyper-V와 충돌할 수 있는 다른 가상화 소프트웨어(VirtualBox 등)를 일시적으로 비활성화해봅니다.
- 설치 후에도
hello-world
가 작동하지 않음:- 원인: 네트워크 문제, 방화벽 설정, Docker Desktop의 리소스 부족 등.
- 해결: 인터넷 연결을 확인하고, 회사 네트워크나 VPN을 사용하는 경우 잠시 해제해봅니다. Docker Desktop 설정에서 할당된 메모리/CPU를 늘려봅니다.
맺음말 🎉
이제 여러분은 도커를 성공적으로 설치하고 기본적인 명령어를 다룰 수 있게 되었습니다! 도커는 개발 및 배포 워크플로우를 혁신적으로 변화시킬 수 있는 강력한 도구입니다.
이 글을 통해 도커 설치에 대한 막막함이 조금이나마 해소되었기를 바랍니다. 이제 여러분은 환경 설정의 지옥에서 벗어나, 오직 코드 작성에만 집중할 수 있게 될 것입니다.
다음 단계로는 Dockerfile을 사용하여 자신만의 이미지를 만들어보고, Docker Compose를 사용하여 여러 개의 컨테이너를 한 번에 관리하는 방법을 학습해보세요. 도커의 세계는 무궁무진합니다!
궁금한 점이 있다면 언제든지 댓글로 남겨주세요. 즐거운 컨테이너 여정 되세요! 🐳✨