웹사이트 검색

Rocky Linux 8에 Docker를 설치하는 방법


이 페이지에서

  1. 왜 도커인가?
  2. 전제 조건
  3. 서버 업데이트
  4. 도커 설치
  5. 루트가 아닌 액세스 허용\n
  6. Docker 설치 확인\n
  7. Docker 명령 사용
  8. Docker 컨테이너 실행\n
  9. 결론

Docker는 격리된 개발 컨테이너를 만들 수 있는 가상화 플랫폼입니다. 2013년에 도입된 Docker는 운영 체제나 플랫폼에 관계없이 모든 머신에서 애플리케이션을 쉽게 실행할 수 있는 기능을 제공합니다. 오늘날 많은 개발자가 Docker를 사용하여 컨테이너 내에서 앱을 테스트하고 배포합니다. 컨테이너는 단일 호스트 시스템에서 여러 격리된 시스템을 실행할 수 있는 기능을 제공하는 리소스 격리 가상 인스턴스입니다.

왜 도커인가?

Docker를 사용하면 개발 환경과 프로덕션 환경 간의 비호환성 위험 없이 다양한 플랫폼에서 애플리케이션을 쉽게 생성, 배포 및 실행할 수 있습니다. 또한 보다 효율적인 방식으로 인프라를 관리할 수 있습니다.

Docker에는 커뮤니티 에디션(Docker CE)과 엔터프라이즈 에디션(Docker EE)의 두 가지 에디션이 있습니다. Docker EE는 기업용 컨테이너 관리 솔루션입니다.

Docker 허브와 같은 공개 레지스트리 또는 Registry Hub와 같은 비공개 레지스트리를 포함하는 레지스트리라는 공식 저장소에서 Docker 컨테이너 이미지를 다운로드할 수 있습니다. docker commit을 사용하여 고유한 사용자 지정 이미지를 만들 수도 있습니다.

이 가이드에서는 Rocky Linux 8에 Docker를 설치하고 사용하는 방법을 배웁니다.

전제 조건

이 문서를 완료하려면 다음이 필요합니다.

  • Rocky Linux 8 새로 설치
  • 시스템에 최소 2GB의 RAM이 설치되어 있어야 합니다. 필요에 따라 선택적으로 2GB 이상을 할당할 수 있습니다. vCPU/CPU 코어 2개, Docker용 최소 20GB 시스템 디스크 공간, 생성하려는 컨테이너 이미지 수에 따라 추가 여유 공간.\n
  • Sudo 권한이 있는 사용자가 서버에 구성되어 있습니다.\n

서버 업데이트

먼저 다음 명령을 사용하여 서버가 최신 상태인지 확인하십시오.

sudo dnf update -y

이전 버전의 Docker가 시스템에 설치되어 있는 경우 다음 명령을 사용하여 이를 제거해야 합니다.

sudo dnf remove docker*

도커 설치

먼저 다음 명령을 사용하여 공식 Docker 리포지토리를 추가합니다.

sudo dnf install -y dnf-utils
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

다음 명령을 사용하여 시스템 저장소를 업데이트하십시오.

sudo dnf update -y

다음 명령을 사용하여 새로 추가된 저장소를 나열할 수 있습니다.

sudo dnf repolist -v

다음과 같이 시스템에 Docker CE를 설치합니다.

sudo dnf install -y docker-ce

설치한 후 다음 명령을 사용하여 Docker Enterprise Edition의 버전을 확인할 수 있습니다.

docker --version

다음과 유사한 출력이 표시되어야 합니다.

Docker 서비스를 시작하고 시스템이 부팅될 때 자동으로 시작되도록 설정합니다.

sudo systemctl start docker
sudo systemctl enable docker

도커 서비스 상태를 확인합니다.

sudo systemctl status docker

녹색으로 활성(실행 중)을 볼 수 있습니다. 이와 같은 출력이 표시되면 Docker 설치가 성공한 것입니다. 명령 프롬프트로 돌아가려면 q를 누르세요.

루트가 아닌 액세스 허용

Docker를 표준 사용자로 실행하면 "Error started daemon"과 같은 오류가 발생할 수 있습니다. sudo 접두사를 사용하지 않고 docker 명령 실행을 허용하려면 다음 명령을 사용하여 현재 시스템 사용자를 Docker 그룹에 추가합니다.

sudo usermod -aG docker $USER

여기서 $USER는 시스템 사용자의 이름입니다. 이 변경 사항을 적용하려면 로그아웃했다가 다시 로그인하십시오.

Docker 설치 확인

Docker 허브에서 docker 이미지 hello-world를 가져와서 Docker가 올바르게 설치되었는지 확인할 수 있습니다. Docker 허브는 유용한 도커 이미지가 포함된 공용 레지스트리입니다. 고유한 이미지를 빌드하거나 docker 허브에서 이미 빌드되고 공유된 이미지를 가져올 수 있습니다.

docker container run hello-world

호스트에서 hello-world 이미지를 찾을 수 없는 경우 Docker는 이를 자동으로 검색하여 Docker Hub에서 다운로드합니다. 이미지가 다운로드된 후 docker 데몬은 이미지에서 새 컨테이너를 인스턴스화하고 내부에서 프로그램을 실행하여 "Hello from Docker!"를 출력합니다.

Docker 명령 사용

이제 Docker가 설치되어 작동합니다. 사용 방법을 살펴보겠습니다. 다음을 입력하여 모든 docker 명령을 나열할 수 있습니다.

docker

OSType, 아키텍처, CPU, 총 메모리와 같은 정보를 얻으려면 docker로 info 명령을 실행하십시오.

sudo docker info

Docker Hub에서 사용 가능한 이미지를 검색하려면 docker 명령과 함께 검색 명령을 사용할 수 있습니다. 예를 들어 centos 이미지를 검색하려면 다음을 입력하십시오.

sudo docker search centos

스크립트는 Docker Hub를 크롤링하고 일치하는 이미지를 반환합니다. 아래에서 centos에 사용할 수 있는 이미지 목록을 볼 수 있습니다.

해당 이미지가 프로젝트 배후의 회사에서 지원됨을 나타내는 OFFICIAL 열에서 OK 상태를 볼 수 있습니다.

pull 명령을 사용하면 사용하려는 이미지를 식별한 후 컴퓨터에 이미지를 다운로드할 수 있습니다.

sudo docker pull centos

이 명령은 최신 버전의 Centos 이미지를 컴퓨터로 가져옵니다. 시스템의 이미지 목록을 보려면 다음을 입력하십시오.

sudo docker images

출력은 다음과 유사해야 합니다.

Docker 컨테이너 실행

docker run 또는 docker create 명령을 사용하여 Docker 컨테이너를 실행할 수 있습니다. docker run을 사용하면 새 컨테이너를 대화식으로 만들거나 로컬 파일 시스템, 레지스트리 또는 docker 허브에서 기존 이미지를 전달할 수 있습니다.

docker run 명령줄 구문은 다음과 같습니다.

sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

예를 들어 위의 Docker 허브에서 가져온 centos의 최신 이미지를 사용하여 컨테이너를 실행해 보겠습니다.

sudo docker run centos

이제 컨테이너 ID가 있는 컨테이너 안에 있습니다. 이 예에서는 2d80435f0d91입니다. 다음과 같은 명령 프롬프트가 있어야 합니다.

컨테이너 내에서 루트 사용자이기 때문에 sudo를 사용하지 않고도 모든 명령을 실행할 수 있습니다. 예를 들어 dnf update 명령을 실행하여 centos 이미지 내의 패키지를 업데이트할 수 있습니다.

dnf update

컨테이너 내부에서 변경한 사항은 해당 컨테이너에만 영향을 미칩니다. 프롬프트에서 exit를 입력하여 컨테이너를 종료할 수 있습니다.

결론

이 튜토리얼에서는 서버에 Docker를 설치하는 방법, 이미지 및 컨테이너로 작업하는 방법을 배웠습니다. 이러한 기본 개념에 익숙해지면 Docker 공식 문서에서 고급 주제로 이동할 수 있습니다.