SW/ 개발팁 / 추천프로그램, 꿀팁 공유
  • 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
Linux

Offline에서 Docker 설치하기

동기 1550

0

0

저번에 yum repo를 오프라인에서 설치를 해보았다.

온라인 환경에서 컨테이너를 이미지로 만들어 오프라인 환경으로 옮긴 후 다시 컨테이너로 만들면 각종 프로그램들을 수월하게 사용할 수 있다고 생각한다.

이젠 docker를 설치해보자 (설치 환경은 RHEL 8.4)

 

Docker

docker는 왜 쓰는 걸까?

  • docker는 실행 시점에 상관없이 구성 시점을 고정할 수 있다.
  • 이것이 다른 서버 구성 도구와 가장 다른 부분이자 여러 서버를 똑같은 상태로 만들 수 있는 것이다.
  • 넓게 보면 Docker는 TDD의 구조와 동일하다
    • TDD 순서 : 테스트 작성 → 테스트 실패 → 코드 작성/수정 → 테스트 성공 → 중복 코딩 리펙토링 → 반복
    • Docker 순서 : 도커파일 생성 → 도커이미지 생성 실패 → 도커파일 작성/수정 → 이미지 생성 성공 → 도커파일 효율화 → 반복
  • 위의 과정으로 만든 이미지로 서버를 실행하면 항상 동일한 컨테이너(=서버환경)를 만들 수 있다.
  • docker 정리도커 파일 서버 운영 기록
    도커 이미지 도커 파일 + 실행 시점
    도커 컨테이너 도커 이미지 + 환경 변수

 

설치 방법

  • 원하는 버전의 docker 패키지 파일을 아래 사이트에서 다운 받는다

https://download.docker.com/linux/rhel/

  • 만약 위의 파일을 버전 확인을 하며 다운 받았지만 안된다면 온라인 상태의 서버에서 도커를 내려받은 다음 설치 파일들을 전부 usb에 담아준다.
  • .rpm 파일을 다운 받아 usb에 담아둔다. → 총 6개의 파일을 다운받는다
    • 6개의 버전을 신경 써 다운 받아야 한다.( 받고 나서 이름을 정리해준 상태로 압축하였다.)

 

 

  • usb 마운트를 시키고, docker 내부의 파일들을 /root/docker로 복사 해준다
    • usb Mount 과정 및 복사과정
fdisk -l //연결되어 있는 USB 확인 (예를 들어 /dev/sdb1가 usb)
mkdir /mnt/usb //마운트 할 임의 폴더 생성
mkdir /home/docker //파일들을 복사할 폴더 생성
mount /dev/sdb1 /mnt/usb // /dev/sdb1의 usb를 /mnt/usb로 마운트
// /mnt/usb 파일 확인 후 작업 진행
cp /mnt/usb/docker/* /home/docker // /mnt/usb/docker/*파일을 /root/docker 폴더로 복사
  • docker/*.rpm 복사가 완료되었으면 설치를 진행하면 된다.
yum install /home/docker/*.rpm
  • docker 설치가 완료 되어도 실행이 되지는 않는다. 실행 시켜주고 확인 테스트를 해보자
systemctl start docker //docker 실행 
docker run hello-world //테스트 메시지 실행
  • 테스트 명령어 실행 시 아래 문구가 나타나면 설치 완료!
bash $ docker run hello-world 
Unable to find image ‘hello-world:latest’ locally 
latest: Pulling from library/hello-world 
ca4f61b1923c: Pull complete Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1 
Status: Downloaded newer image for hello-world:latest
Hello from Docker! This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
The Docker client contacted the Docker daemon.
The Docker daemon pulled the “hello-world” image from the Docker Hub. (amd64)
The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/
For more examples and ideas, visit: https://docs.docker.com/engine/userguide/

 

Reference

 

 

신고공유스크랩
0

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
분류 제목 글쓴이 날짜 조회 추천
정보 proxmox helper script 사이트 이전 5 kmw_ 5일 전11:14 241 +4
Linux 노트서비스 추천 7 bigworker128 24.05.05.12:31 385 +1
정보 Gemini API 사용을 위한 API KEY 발급받기 1 달소 24.04.30.10:52 220 +1
Linux
image
달소 22.08.26.09:21 10644 0
Linux
normal
i7-13700K 24.03.30.19:06 2044 +4
Linux
image
동기 23.02.02.09:50 1550 0
Linux
image
동도리군 23.01.27.01:20 1418 +3
Linux
image
달소 22.07.13.16:53 1318 0
Linux
normal
hyon 22.04.04.22:30 1097 +1
Linux
image
회원 23.03.08.11:34 1055 0
Linux
image
달소 21.06.11.16:43 947 +1
Linux
normal
bravewind 23.03.22.11:56 915 0
Linux
image
동기 23.01.27.10:14 890 +1
Linux
image
배워보자 23.03.21.20:31 732 0
Linux
image
행복구슬 23.11.10.21:17 697 +1
Linux
image
bravewind 23.03.29.12:02 623 0
Linux
image
루크 23.02.14.23:50 600 +1
Linux
image
달소 21.06.11.14:57 582 0
Linux
normal
bravewind 23.04.06.15:35 494 0
Linux
image
유키 23.04.10.18:00 482 +1
Linux
image
달소 21.06.22.13:39 470 0
Linux
normal
풀비누 23.07.19.10:06 460 +6
Linux
normal
WHYism 23.12.10.14:37 423 +2