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" 명령어 정리
'InfraPlatform' 카테고리의 다른 글
Docker 사용량 최적화: 불필요한 이미지 삭제와 /var/lib/docker 디렉토리 초기화 팁 (1) | 2025.01.13 |
---|---|
리눅스 XFS 파일 시스템: 디스크 포맷과 fstab 설정 완벽 가이드 (0) | 2025.01.12 |
keycloak 을 설치하고 신규 Realm 생성 (1) | 2025.01.05 |
리눅스 네트워크 설정 명령들과 nmcli 사용법 (0) | 2025.01.01 |
Virtual Box7 리눅스 자동 설치 vboxuser password를 알려줘 (0) | 2025.01.01 |
(꿀팁) 리눅스 방화벽 설정 - ufw firewall-cmd (3) | 2024.12.21 |
[꿀팁]Linux nmcli 사용법 - 네트웍 ip 설정하기 (1) | 2024.12.21 |