다시 웹, 백엔드로/CICD

Docker 플랫폼 환경 구성

EnoughTT 2023. 9. 6. 23:19

Oracle VirtualBox 설치

 

가상화 프로그램 사용 시 설치되는 운영체제의 가상화 기능 활성화를 해줘야함

부팅 시 CMOS 설정에서 CPU 기능 중 VT-x, AMD-V, VMX 등 메인보드에 따라 다름

 

다운로드

 

제일 최신으로 다운로드 받으면 됨

 

설치 후 Next 를 총 3~4번 정도 누르면 설치가 시작됨

다 설치가 된 뒤 실행을 시키지말고 종료 후 윈도우를 재부팅하는게 좋음

 

 

Ubuntu 22.04 다운로드 및 설치

 

다운로드

 

데스크탑과 서버 차이는 GUI 유무

편의상 Desktop image 로 다운로드함

 

 

 

Docker 는 64비트에서만 동작함

되도록이면 C, D, E 드라이브에 직접 경로를 안잡는게 좋음, OS 가 있는 드라이브는 규모가 있는 애플리케이션이 올라갔을 경우 OS 와 IO 성능 문제가 있음

 

하드웨어 가상화 (VM 가상화, 최소 메모리 4기가와 코어 최소 4)

 

디스크는 100기가 정도로 잡고, 다음 누르고 Finish

 

나머지 설정을 해주기 위해 '설정' 클릭

 

시스템 설정

부팅 순서 (플로피 사용 안)

  1. 광 디스크
  2. 하드 디스크

 

CPU 가상화 확장이 자동으로 되는 경우도 있지만 만약을 위해 체크

Ubuntu 22에  docker 24 를 돌렸을 경우 CPU가 다운 될 경우가 있

 

Ubuntu 를 리부팅을 했을 때 먹통이라면 그래픽 컨트롤러를 VBoxVGA 로 변경해야함 (기본은 VMSVGA)

 

 

저장소 설정

저장소에서 아까 다운 받은 우분투 iso 파일을 설정해줌

 

DB, Docker 같은 무거운 애플리케이션들은 OS가 있는 디스크에 같이 설치하지 않음, 디스크 IO에 대한 성능이 낮아짐

 

Docker 전용 Disk 사용을 위해 Disk 추가, VDI 디스크 선택

* OVF 기술
개방형 가상화 포맷, 오픈 가상화 포맷(Open Virtualization Format, OVF)은 버추얼 어플라이언스, 더 일반적으로는 가상 머신에 구동할 소프트웨어를 꾸리고 배포시키기 위한 개방형 표준이다. 확장자는 .ovf 또는 .ova이다.
이 표준은 "가상 머신에 구동할 소프트웨어의 패키징 및 배포를 위한 개방적이고 안전하고 이식 가능하고 효율적이며 확장 가능한 포맷"으로 기술된다. OVF 표준은 어느 특정한 하이퍼바이저나 명령어 집합 아키텍처에 구속되지 않는다. 패키징과 배포 단위는 이른바 OVF 패키지(OVF Package)로 불리며 하나 이상의 가상 시스템을 포함할 수 있으며 이 시스템 각각은 가상 머신에 배치(deploy)가 가능하다.
feat.개방형 가상화 포맷 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

 

네트워크 설정

외부 네트워크 연결을 위한 NAT 설정

apt 를 통해 패키지를 다운받아 설치하는데 외부 연결용 NAT 임 

 

내부 (infra) 네트워크 연결을 위한 VirtualBox Host-Only Ethernet Adapter 설정

 

윈도우 11기준

제어판 > 네트워크 상태 및 작업보기 > 어댑터 설정 변경

 

아래 보여지는 ip 는 VirtualBox 의 게이트웨이 역할 겸 MobaXterm 또 PuTTY 를 통해 리눅스 환경에 접근하는 방법도 제공됨

 

오디오, USB 사용은 X 로 설정

 

인프라 첫번째가 윈도우
도커 설치 후 복제라는 기술을 통해 hostos2 를 만들 예정

실제 인프라 서버는 클라이언트 포함 3대가 됨

 

 

서버 실행

 

리눅스 화면에 마우스 클릭 후 Enter

 

키보드, 마우스 설정

 

 

호스트 키 조합을 지운 뒤 편한 단축키로 설정

 

 

Ubuntu 설치

 

English 선택 (한글로 하면 글자가 깨짐)

 

파티션 잡기

 

디스크가 2장이 나옴

sda : 리눅스 OS

sdb : Docker

/dev/sd : 스카시 (SCSI) 디바이스

a, b, c, d : 디스크 넘버

SCSI
SCSI (스커지/스카시, Small Computer System Interface, 문화어: 스카지, 소형 컴퓨터 체계 대면부, 컴퓨터 체계 결합장치)는 컴퓨터에 주변기기를 연결할 때 직렬 방식으로 연결하기 위한 표준을 일컫는다. 다시 말해, 컴퓨터에서 주변기기를 연결하기 위한 병렬 표준 인터페이스로 입출력 버스를 접속하는 데에 필요한 기계적, 전기적인 요구 사항과 모든 주변 기기 장치를 중심으로 명령어 집합에 대한 규격을 말한다.
feat. SCSI - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

Ext4 파일 시스템 : 리눅스의 파일 시스템 

XFS 파일 시스템 : 쓰기 속도가 좋음, 클라우드에서는 기본값이 XFS로 잡혀있음

swap 가상 메모리 : 일반적으로 물리 메모리의 2배로 잡음

 

sda 는 파티션 4개

/dev/sda1 에 부트 os 인스톨 > 이후 continue * 3 번 누름

 

sdb는 파티션 1개

 

 

계정 생성

 

설치는 대략 5 ~ 10분 걸림

 

OS 설치시 생성 되는 계정은 sudo 권한을 가지게됨

 

 

 

 

 

 

 

 

feat. 한번에 끝내는 CI/CD 모든 것

'다시 웹, 백엔드로 > CICD' 카테고리의 다른 글

Nodejs 환경 Image build  (0) 2024.08.14
Docker 플랫폼 환경 구성  (0) 2024.08.13
docker 엔진 설치와 구성 확인  (0) 2023.09.11
Ubuntu linux 환경 구성  (0) 2023.09.08
컨테이너 가상화 이해  (0) 2023.09.03