
도커를 설치하고자 하는 폐쇄망은 다음과 같다.
Red Hat Linux는 유료이다. 이를 클론한 CentOS를 통해 도커 설치파일을 준비하고자 한다. 가상머신을 통해 사용할 수 있지만 간단하게 도커를 통해 환경을 구성하고자 한다.
docker hub에서 원하는 이미지를 찾는다.
해당 이미지를 가져온다.
docker pull centos:<태그>
x86으로 해당 이미지 실행
docker run -d --name centos -it -v $(pwd):/mnt/myproject --platform linux/amd64 --privileged=true centos:8 /bin/bash
v: bind mount를 통해 도커에 필요한 설치파일들을 쉽게 로컬에 위치하고자 한다.—platform linux/amd64: arm기반인 m1 맥북 위에서 x86기반의 컨테이너를 위해 설정한다.—privileged=true: 도커 안에서 systemctl을 사용하기 위해 설정한다. 도커 안에서 도커를 띄우기 때문에 필요하다.테스트 환경 설치 시 수행착오 - 1
운용 서버는 X86기반이었고 로컬 환경은 arm기반이였다.
도커 상에서 설치하는 파일이 달랐고 이때문에 파일을 다시 받았어야 했다.
항상 환경을 확인하자. ($ arch를 통해 확인하자…)
테스트 환경 설치 시 수행착오 - 2
도커로 띄운 centOS에서 도커를 설치 후 실행하기 위해systemctl을 사용하니 다음과 같은 오류가 발생했다.System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down이는 도커가 기본 권한으로
systemctl을 막기 때문으로—privileged=true를 통해 권한을 주자.
도커 설치에는 다음과 같은 도커 패키지가 필요하다.
또한 해당 패키지들은 여러 패키지에 대해 의존관게를 가진다.
폐쇄망에서는 외부에서 패키지를 불러올 수 없으므로 모든 의존관계를 들고 가야 한다.
yum install yum-utils 
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum 설치 시 수행착오
centOS 8은 지원이 종료되어 yum 실행 시 오류가 발생한다.
https://velog.io/@juns1s/CentOS-CentOS-Cannot-prepare-internal-mirrorlist-No-URLs-in-mirrorlis
yumdownloader --resolve docker-ce 

마운트 되어있으므로 해당 위치에서 압축해서 가져간다.
가져간 압축파일을 해제한다.
yum localinstall을 통해 가져간 .rpm파일을 모두 설치하자.
yum localinstall -y *.rpm



마지막에 Complete!를 보면 된거다.
폐쇄망 설치 시 수행 착오 -1
unzip이 없었다… tar로 압축해서 가자
폐쇄망 설치 시 수행착오 -2
오픈망의 환경과 폐쇄망의 환경 중 특정 라이브러리가 버전이 달랐다.
rpm-plugin-systemd-inhibit-4.14.3-19.el8.x86_64.rpm
해당 버전만 다시 가져갔다…
docker —version을 통해 정상 설치를 확인한다.
systemctl을 통해 도커를 실행한다.
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
docker ps를 통해 도커가 실행중인지 확인한다.
docker —version이 된다 해서 도커가 실행되는게 아니다…
이제 도커 설치가 완료되었다. 필요에 따라 도커를 적용하면 된다.
필자의 경우 서버 프로그램을 이미지로 가져와 docker상에서 docker compose를 통해 실행시켰다.
Red Hat Linux, Fedora, CentOS와 Rocky Linux의 관계
https://velog.io/@nohsangwoo/centos7.6.1810-폐쇄망에-docker-설치-하는-방법
Install Docker Engine on CentOS
오프라인 환경에서 Docker 운영 | InfoGrab, DevOps 전문 기술 기업 | 인포그랩 | GitLab기반 DevSecOps 구축,컨설팅,교육,기술지원 서비스 제공