InfraPlatform

Install Docker on RHEL 9

IT오이시이 2025. 1. 8. 01:13
728x90

Install Docker on RHEL 9

 

 

1. Remove any old Docker versions: Ensure there are no conflicting packages.

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman runc

 

 

2. Add Docker repository: Install the dnf-plugins-core package and add the Docker repository. 

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

 

 

3. Install Docker: Install the Docker packages.

 
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 



4. Start and enable Docker service: Start the Docker service and enable it to start on boot.

 
sudo systemctl start docker
sudo systemctl enable docker

 

5. Add your user to the Docker group: This allows you to run Docker commands without sudo.

sudo usermod -aG docker $USER
newgrp docker

 

 

6. Verify the installation: Check the Docker version to ensure it's installed correctly.

 
# docker version

Client: Docker Engine - Community
 Version:           27.4.1
 API version:       1.47
 Go version:        go1.22.10
 Git commit:        b9d17ea
 Built:             Tue Dec 17 15:47:58 2024
 OS/Arch:           linux/amd64
 Context:           default

 

 

7. Test Docker installation: Run a simple container to verify everything is working.

 
docker run hello-world

 

(example)  install docker image for singleStore Self-Managed  

docker run -i --init \
    --name singlestore-ciab \
    -e LICENSE_KEY="SingleStore_Key-ODQyNTlhNGJmNjgyZGNlYTZiNzgzAAAAAAAAAAAEAAAAAAAAACgwNgIZAOImmJjxORM18XP8ahw7W4+b/cctysozqQIZAPCfEtjbWaEYZE8+giBxdCRLhge39KtdzQ==" \
    -e ROOT_PASSWORD="Passwd-hIiY44HQZrddbIWrWR5QwlClDTw3Y4i" \
    -p 3306:3306 -p 8080:8080 \
    singlestore/cluster-in-a-box
docker start singlestore-ciab

 

 

8. 도커 컨테이너에 접속 하는 방법

 8.1 docker exec: 명령으로 셀 접속

 사용자는 컨테이너 내부 접속하여 직접 shell 명령을 입력하고 실행할 수 있습니다. 

docker exec -it [컨테이너_ID] /bin/bash

이 명령어는 실행 중인 컨테이너에 새로운 셸 프로세스를 생성하여 접근할 수 있습니다.

  • docker exec -it [컨테이너_ID] /bin/bash 명령어는 도커 컨테이너 내부에서 대화형 터미널을 열어 /bin/bash 셸을 실행합니다. 
  • docker exec: 도커 컨테이너에서 명령을 실행하는 도커 명령어입니다.
  • -it: -i는 대화형 표준 입력 모드를 활성화하고, -t는 TTY(Terminal Type)를 활성화하여 터미널의 모든 기능을 제공합니다.
  • [컨테이너_ID]: 명령을 실행할 컨테이너의 ID 또는 이름을 나타냅니다.
  • /bin/bash: 실행할 명령으로, 여기서는 Bash 셸을 의미합니다.

 

 

8.2 docker attach: 명령으로 콘솔 접속

docker attach [컨테이너_ID]

이 명령어는 실행 중인 컨테이너의 root 프로세스에 콘솔 접근을 시켜줍니다

docker attach [컨테이너_ID] 명령어는 실행 중인 도커 컨테이너에 연결하여 컨테이너의 표준 입력, 출력, 오류 출력을 현재 터미널로 리디렉션합니다.

  • docker exec 명령어와의 차이점은
    - docker attach는 이미 실행 중인 프로세스에 연결하고,
    - docker exec는 새로운 프로세스를 시작합니다.

 


8.3  SSH로 컨테이너 접속
 - SSH: 컨테이너에 SSH 서버를 설치하여 SSH 클라이언트를 사용해 접근 가능

 

 1) Dockerfile 작성: Dockerfile에 SSH 서버 설치 및 설정을 추가합니다.

# 베이스 이미지 선택
FROM ubuntu:latest

# 패키지 업데이트 및 SSH 서버 설치
RUN apt-get update && apt-get install -y openssh-server

# SSH 디렉토리 생성 및 설정
RUN mkdir /var/run/sshd

# root 계정에 대한 비밀번호 설정 (보안에 유의해야 합니다)
RUN echo 'root:비밀번호' | chpasswd

# SSH 서버 실행
CMD ["/usr/sbin/sshd", "-D"]

 

2) 이미지 빌드: 작성한 Dockerfile을 사용해 이미지를 빌드합니다.

docker build -t my-ssh-container .

 

3) 컨테이너 실행: 빌드한 이미지를 사용해 컨테이너를 실행합니다.

docker run -d -p 2222:22 my-ssh-container

 

4) SSH 접속: 로컬에서 컨테이너에 SSH로 접속합니다.

ssh root@localhost -p 2222

 


( 참고 )

1. [Install Docker Engine on RHEL - Docker Documentation]
    (https://docs.docker.com/engine/install/rhel/) }

2. [How to Install Docker on RHEL 9 (Step-by-Step Guide) - LinuxTechi]
       (https://www.linuxtechi.com/how-to-install-docker-on-rhel/)

3. [InfraPlatform] - Install Docker on RHEL 9

4. [DevOps] - [Docker] 자주 사용하는 "docker exec, attach, logs" 명령어 정리

5. [DevOps] - [Docker] 자주 사용하는 "docker volume" 명령어 정리

 

 

728x90
반응형