Linux에서 Docker를 설정하는 방법

리눅스를 서버 플랫폼으로 선택하는 주요 이유 중 하나는 컨테이너 기술의 뛰어난 활용성 때문입니다. 컨테이너는 사용자가 마이크로 운영체제와 특정 소프트웨어를 시스템과 분리된 환경에서 실행할 수 있도록 지원하는 혁신적인 기술입니다. 이를 통해 놀라운 성능과 유연성을 확보할 수 있습니다. 리눅스 컨테이너 환경에서 가장 널리 사용되는 솔루션은 바로 Docker입니다. Docker는 설치가 간단하여 누구나 쉽게 컨테이너를 생성하고 실행할 수 있도록 도와줍니다. 다음은 리눅스 환경에서 Docker를 설치하는 방법에 대한 상세 안내입니다.

참고: 이 글의 마지막 부분에는 비디오 튜토리얼이 준비되어 있으니, 아래로 스크롤하여 확인해 주세요.

우분투 환경에서의 설치 가이드

우분투 서버 또는 데스크톱 환경에서 Docker CE를 사용하기 전에, 우분투 apt 패키지 캐시를 업데이트하고 필요한 소프트웨어 업데이트를 진행해야 합니다.

sudo apt update 
sudo apt upgrade

시스템이 최신 상태로 유지되면, 몇 가지 추가 패키지를 설치해야 합니다. 이 패키지들은 HTTPS를 통한 다운로드 기능을 개선하여 우분투의 패키지 관리자가 Docker와 더 원활하게 상호작용하도록 합니다.

sudo apt-get install 
 apt-transport-https 
 ca-certificates 
 curl 
 software-properties-common

다음 단계는 공식 Docker 소프트웨어 저장소의 GPG 키를 추가하는 것입니다. 우분투는 인증된 키가 없으면 소프트웨어 설치를 허용하지 않으므로 이 과정은 필수적입니다.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

다운로드한 키를 사용하여 공식 Docker CE 소프트웨어 저장소를 우분투 시스템에 추가합니다.

sudo add-apt-repository 
 "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
 $(lsb_release -cs) 
 stable"

마지막으로 우분투의 소프트웨어 소스를 다시 업데이트하고 Docker 소프트웨어를 설치하여 설치 프로세스를 마무리합니다.

sudo apt update&&sudo apt install docker-ce

데비안 환경에서의 설치 가이드

데비안에서 Docker CE를 설치하기 전에 시스템을 최신 상태로 업데이트해야 합니다. 이를 통해 Docker가 안정적으로 작동할 수 있습니다.

sudo apt-get update
sudo apt-get upgrade

시스템이 최신 상태인지 확인한 후에는 Docker CE 패키지를 원활하게 다운로드하기 위해 몇 가지 추가 도구를 설치해야 합니다. 이 지침은 사용하는 데비안 버전에 따라 약간의 차이가 있습니다.

데비안 스트레치/제시 사용자

sudo apt-get install 
 apt-transport-https 
 ca-certificates 
 curl 
 gnupg2 
 software-properties-common

데비안 휠리 사용자

sudo apt-get install 
 apt-transport-https 
 ca-certificates 
 curl 
 python-software-properties

필수 도구를 설치한 후에는 Docker 저장소의 GPG 키를 데비안 시스템에 추가해야 합니다. 이 단계는 매우 중요하므로 간과해서는 안 됩니다. 데비안은 인증된 키 없이는 Docker 설치를 허용하지 않습니다.

curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -

이제 Docker CE 소프트웨어 저장소를 데비안 소스 목록에 추가합니다.

sudo add-apt-repository 
 "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") 
 $(lsb_release -cs) 
 stable"

마지막으로, 데비안의 소프트웨어 소스를 다시 업데이트하고 Docker CE를 설치하여 설치를 완료합니다. 다음 명령을 사용하여 설치를 진행합니다.

sudo apt-get update&&sudo apt-get install docker-ce

페도라 환경에서의 설치 가이드

페도라에 Docker를 설치하기 전에, Dnf 플러그인을 설치해야 합니다. 이 플러그인은 Docker 소프트웨어 설치를 더욱 간편하게 만들어 줍니다. 다음 명령어를 사용하여 Dnf 플러그인을 설치합니다.

sudo dnf -y install dnf-plugins-core

플러그인 설치 후에는 실제 소프트웨어 저장소를 시스템에 추가해야 합니다.

sudo dnf config-manager 
 --add-repo 
 https://download.docker.com/linux/fedora/docker-ce.repo

Dnf 및 페도라에 공식 Docker CE 소프트웨어 저장소를 추가하면, 시스템을 업데이트할 때 Docker 업데이트를 정기적으로 받을 수 있습니다. 인터넷에 꾸준히 연결되지 않는 환경에서 Docker를 설치하는 경우, Docker CE 다운로드 페이지에서 RPM 파일을 직접 다운로드하는 것을 고려해볼 수 있습니다.

마지막으로 페도라 패키지 관리자를 통해 Docker CE를 직접 설치합니다.

sudo dnf install docker-ce

기타 리눅스 배포판

Docker는 리눅스에서 광범위하게 지원됩니다. 위에 언급된 리눅스 배포판은 Docker에서 주로 선호하는 몇 가지 예시입니다. 다른 버전의 리눅스에서 Docker를 설치하려면, 공식 문서를 참조하는 것이 좋습니다. Docker 설치 문서에는 다양한 리눅스 배포판에 대한 자세한 설치 지침이 제공됩니다. 또한 사용 중인 리눅스 배포판의 공식 문서를 확인하여 Docker 설치에 도움을 받을 수 있습니다.

Docker CE 활성화

Docker CE를 설치한 후에는 서비스를 활성화해야 Docker를 사용할 수 있습니다. 활성화 방법은 사용하는 운영체제에 따라 다를 수 있습니다. 예를 들어, 우분투 또는 데비안 지침을 따른 경우 설치 과정에서 서비스가 자동으로 시작되었을 가능성이 높습니다. 하지만 페도라나 systemd를 사용하는 다른 리눅스 배포판에서는 별도로 활성화해야 합니다.

먼저 systemctl enable 명령어를 사용하여 시스템 시작 시 Docker 서비스를 활성화합니다.

sudo systemctl enable docker

다음으로 systemctl start 명령어를 사용하여 Docker 서비스를 즉시 시작합니다.

sudo systemctl start docker

Docker CE 서비스를 비활성화하고 싶으신가요? systemctl disable 명령어를 사용하면 됩니다.

sudo systemctl disable docker

또한, systemctl stop 명령어로 언제든지 Docker를 중지할 수 있고, systemctl restart 명령어로 다시 시작할 수 있습니다.

sudo systemctl stop
sudo systemctl restart

Docker CE 사용법

리눅스에 Docker CE를 설치했다면, 이제 컨테이너를 자유롭게 생성하고 사용할 수 있습니다. Docker CE가 제대로 작동하는지 확인하기 위해 간단한 테스트 컨테이너를 실행해 보겠습니다.

sudo docker run hello-world

hello-world 컨테이너가 성공적으로 실행되면 Docker가 정상적으로 작동하는 것입니다. 만약 문제가 발생하면 Docker를 다시 설치하고 재시도해 보세요.

컨테이너 설치 및 실행

Docker 환경에 컨테이너를 설치하는 것은 매우 간단합니다. 먼저 Docker Hub에서 설치하려는 컨테이너를 검색합니다.

docker search searchterm

그 다음 docker pull 명령어로 컨테이너를 설치합니다.

docker pull containername

마지막으로 docker run 명령어로 컨테이너를 실행합니다.

sudo docker run containername