Docker 폐쇠망(offine) 환경에 설치

문한성·2024년 1월 22일
0

공부

목록 보기
28/28
post-thumbnail

온라인 환경에서 파일 다운로드

  • OS에 맞는 패키지(rpm)를 다운로드
  • docker 각 OS별 rpm파일 다운로드 사이트 : Index of linux/
- contained.io
- docker-ce
- docker-ce-cli
- docker-compose-plugin

rehel : /버전/s390x/stable/Packages

ubuntu-version 구분 : Bionic (18.04) Focal (20.04)

ubuntu/dists/버전/pool/stable/and64

offine 환경으로 파일 이동

  • yum localinstall ./[패키지 파일명]
    • 만약 package 충돌 문제가 나오면 —allowerasing 옵션을 추가 하면 기존 패키지와 교체 설치가 됨
    • Example : yum localinstall —allowerasing ./[패키지 파일명]
  • ubuntu인 경우 sudo dpkg -i [패키지 파일명]
    • 4개의 파일을 모두 설치

offine 환경(폐쇠망 환경)에 yum localinstall이 안될경우

offine 환경에서 yum 명령어가 실행 되지 않을경우 사용중인 OS의 설치용 iso 파일을 마운트하여 repository로 설정 해줘야한다.

  • CentOS 9 버전으로 가이드를 진행한다.

CentOS 9 버전 iso 파일 다운로드

  • Download 에서 CensOS Stream 9 x86_64 iso 파일을 다운로드한다.

iso 파일 내용 폴더로 복사

  • 온라인 환경에서 명령어를 이용하여 iso 파일의 내용을 폴더에 복사한다.
# 디렉토리 생성 및 마운트
mkdir /mnt/iso
sudo mount -o loop [iso파일위치] /mnt/hsiso
#디렉토리로 내용 복사
rsync -av /mnt/iso/ [복사하려는 폴더 위치]

로컬 레포지토리 생성

  • iso 파일은 읽기 전용이기 때문에 폴더로 풀어서 수정을 한후 다시 iso 파일로 만들어야 합니다.
sudo createrepo [iso파일의 내용을 복사한 폴더 위치]
# 위의 명령어 적용시 지정한 폴더에 repodata폴더가 추가되어 있어야한다.
  • createrepo 명령어가 없을시 yum install로 다운받는다.

iso 파일 생성

  • createrepo가 완료된 폴더를 다시 iso 파일로 만들어 줍니다.
  • xorriso 설치
sudo apt-get install xorriso # Ubuntu, Debian 등
sudo yum install xorriso # CentOS, RHEL 등
  • iso 파일 생성
# 아래의 명령어 입력시 파일이 없다면 다운로드 받아야함
find /usr -name isohdpfx.bin
# syslinux다운
sudo yum install syslinux
*#폴더를 iso 파일로 생성*
sudo mkisofs -o [생성할 iso파일의 위치] -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V disks-label [iso복사파일이 있는 폴더]
*#예시*
suod mkisofs -o /root/new.iso -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V disks-label /root/iso_dir/

만들어진 새로운 iso 파일 offine에 전송

  • SCP로 온라인 환경에서 offine환경으로 iso 파일 전송
sudo scp [iso파일 위치] root@[전송할 서버 ip]:[iso파일을 전송할 위치]

Offine 서버에서 ISO 파일 마운트

# 마운트할 디렉토리 생성
sudo mkdir /mnt/iso
# ISO 파일 마운트
sudo mount -o loop [iso파일 위치] /mnt/iso

Local Repository 등록

  • Local Repository 등록은 아래와 같이 진행합니다.
# Local Repository 설정 파일 생성
# vi /etc/yum.repos.d/local.repo 명령어 실행 후 아래 내용 추가
[localrepo]
name=Local Repository
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0

yum 명령어 실행

# local repository만 사용하는 방법
# 레포지토리 설정 파일에서 모든 repository enabled=0으로 변경
# 변경 후 local.repo 파일만 enabled=1로 수정해줘야함
sudo sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/*.repo
# yum localinstall 사용시에만 다른 레포지토리 비활성화
sudo yum --disablerepo=* --enablerepo=local localinstall *.rpm`
  • 이제 local repository를 이용해서 yum 명령어를 사용 할 수 있습니다.

필요한 패키지 받는 방법

sudo dnf download [패키지 이름] --resolve
# ex) sudo dnf download samba --resolve
profile
기록하고 공유하려고 노력하는 DevOps 엔지니어

0개의 댓글