docker : 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 플랫폼이다.
docker compose : yaml 파일에 설정된 정의를 기반으로 다중 컨테이너 애플리케이션 환경을 실행할 수 있게 해주는 도구입니다.
YAML : 사람이 쉽게 이해할 수 있고 기계가 해석할 수 있는 방식으로 구조화된 데이터를 표현하는 표준화 형식을 제공합니다. 'YAML'은 'YAML은 마크업 언어가 아니다(YAML Ain't Markup Language)' 또는 '또 다른 마크업 언어(Yet Another Markup Language)'의 약어입니다. (참조 : https://www.ibm.com/kr-ko/topics/yaml)
yaml 파일에(docker-compose.yml) MinIO (Minimal Object Storage), MC (MinIO Client) 두 개의 서비스를 정의하고(차후 포스팅), docker compose로 한 번에 실행(docker compose up -d) 및 관리할 수 있도록 우선 docker와 docker TooL 인 docker compose를 설치하는 방법을 기재하겠습니다.
환경 : Rocky Linux 8.9
dnf : Rocky Linux는 기존 리눅스의 패키지 설치 관리 도구인 yum을 개선한 패키지 관리 도구로 dnf(Dandified YUM)를 사용을 할 수 있습니다. dnf는 RHEL/CentOS 8부터 정식 도입 되었으며, 기존 yum을 사용해도 되고, dnf(yum과 같은 용법)를 사용해도 됩니다.
docker 설치
1. dnf-utils 설치 (dnf config-manager 사용 시 필요)
**전체 명령어 root 권한으로 수행
# dnf install dnf-utils -y
2. docker 레포지토리 추가
참고 : Rocky Linux에서 # yum install docker로 설치하게 되면, podman-docker 가 설치된다. podman(RHEL 컨테이너 실행/관리 도구)
# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 레포지토리 리스트 확인 (목록 중 'docker-ce-stable' 을 확인하면 된다.)
# dnf repolist -v
4. docker 설치
**충돌하는 패키지(ex podman, podman-docker) 를 제거하려면 --allowerasing 옵션을 사용해야 한다.)
# dnf install -y docker-ce --allowerasing
[root@test ~]# docker --version
Docker version 26.0.1, build d260a54
5. docker 구동 & 활성화 (enable 서버 재부팅때 자동 시작)
# systemctl status docker
# systemctl start docker
# systemctl enable docker
docker compose 설치
참고 : docker 설치시 'docker-compose-plugin'도 동시에 설치된다.
[root@test ~]# docker compose version
Docker Compose version v2.26.1
docker compose가 설치가 안됬을 경우, docker 설치와 비슷한 과정으로 설치하면 된다.
1. 패키지 데이터베이스 업데이트
# dnf check-update
2. docker 레포지토리 확인 후 설치
# dnf repolist -v
# dnf install docker-compose-plugin
docker 컨테이너 실행 확인(별다른 컨테이너를 실행하지 않았을 경우 아래와 같은 유사한 내용만 출력)
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(참고) Linux 일반 사용자에게 docker 사용 권한 부여
docker 그룹 확인
# cat /etc/group
docker:x:986:
test-user에게 권한 부여
# usermod -aG docker test-user
-a, --append
-G, --groups GROUPS
권한 부여 전
[test-user@test ~]$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/json": dial unix /var/run/docker.sock: connect: permission denied
권한 부여 후
[test-user@test ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Rocky Linux docker 설치 참조 하였습니다.
https://hahahax5.tistory.com/10