포스팅 목차
도커 개요
도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트입니다. 도커는 2013년 3월 13일에 솔로몬 하익스(Solomon Hykes)에 의해 발표되었으며, 현재는 도커(Docker Inc.)에 의해 개발되고 있습니다. 도커는 리눅스, 윈도우, macOS와 같은 다양한 운영 체제에서 사용할 수 있으며, 현대의 리눅스 커널이 포함된 x86-64 및 ARM 아키텍처를 지원합니다.
도커의 기능
도커 컨테이너는 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싸져 있습니다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 모든 것이 포함됩니다. 이러한 구조는 실행 중인 환경에 관계없이 언제나 동일하게 실행될 것을 보장합니다.
도커는 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공합니다. 도커는 cgroups와 커널 이름공간과 같은 리눅스 커널의 기능들과 OverlayFS, aufs와 같은 유니언 가능 파일 시스템의 리소스 격리 기능을 사용하여 독립적인 “컨테이너”가 하나의 리눅스 인스턴스 안에서 실행될 수 있도록 합니다. 이를 통해 가상 머신을 시작하고 유지보수해야 하는 부담을 덜어줍니다.
docker install.
RHEL 9에는 기본적으로 Podman과 Buildah 같은 패키지들이 설치되어 있어 Docker와 해당 패키지가 동시에 설치되어 있으면 충돌이 발생할 수 있기 때문에, Docker를 설치하기 전에 패키지를 삭제합니다.
sudo dnf remove -y podman buildah
Docker 저장소 설정 및 Docker 설치
docker 저장소 추가 및 도커 설치를 진행합니다.
도커 설치는 해당 시스템의 아키텍처에 맞는 옵션을 선택하여야 합니다. 제가 사용 중인 아키텍처는 aarch64입니다.
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Docker 서비스 시작 및 활성화
sudo systemctl start docker
sudo systemctl enable docker
Docker 그룹에 사용자 추가
Docker 명령어는 일반적으로 root 권한이 필요합니다. Docker 그룹에 사용자를 추가하면 해당 사용자가 sudo 없이 Docker 명령어를 실행할 수 있습니다.
이렇게 하면 매번 명령어를 실행할 때마다 sudo를 입력해야 하는 번거로움이 사라집니다.
sudo usermod -aG docker $USER
newgrp docker
id