1편 : 왜 필요한가?
https://subbak2.tistory.com/46
2편 : SAGA 패턴
https://subbak2.tistory.com/96
0. 도커 실습을 하는 이유
MSA 장점 중 하나인 scale out을 제대로 사용하기 위해서는 도커, 쿠버네티스 등을 통해 컨테이너를 활용해야한다.
도커는 OS에 종속되지 않으며, 컨테이너 안에 다양한 Application을 유연하게 조정할 수 있어
기존의 가상머신(Hypervisor)보다 scale out에 유리하다.
그래서 아래 사이트의 실습 순서에 맞춰 도커를 실습해보려고 한다.
https://ggingmin.notion.site/Let-Docker-Work-c92b9c8896ed4f71805c15df1b70d3af
1. VMware workstation 설치
Windows 11 PC를 사용중인데, 일반적인 서버 환경인 Linux와 유사한 실습 환경을 갖추기 위해
VMware를 설치하고 Ubuntu 18.04 OS에 도커를 설치했다.
1) VMware workstation 설치 (Windows)
아래 링크에서 설치
* Mac의 경우 VMware fusion을 설치해야한다.
https://my.vmware.com/web/vmware/evalcenter?p=fusion-player-personal
2) Ubuntu 18.04 image파일(iso 설치)
https://mirror.kakao.com/ubuntu-releases/bionic/
3) VMware에서 create a new virtual machine을 누르고 Ubuntu 18.04 image 파일을 이용해 가상머신 생성
* 단, CPU의 가상화 기능이 꺼져있는 경우 아래처럼 실행이 안 될 수 있다. (이미 켜져있다면 상관없음)
경고창 문구대로 BIOS에서 CPU 가상화(AMD-V) 기능을 켜면 된다.
AMD Ryzen CPU의 경우 (메인보드 : Gigabyte) BIOS 옵션이 아래처럼 다소 복잡했다.
* M.I.T. → Advanced Frequency Settings → Advanced CPU Settings → SVM Mode Enabled
4) Ubuntu에서 Docker 설치
참고 : https://docs.docker.com/engine/install/ubuntu/
위 링크대로 쭉 실행
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
실행 결과 :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
실행 결과 :
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
실행 결과 :
-- 1. UPDATE하고 DOCKER CLI 설치
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
-- 2. 설치 가능한 버전 목록 확인
apt-cache madison docker-ce
-- 3. 특정 버전 원할 경우 지정 설치 (EX> 5:20.10.12~3-0~ubuntu-bionic)
sudo apt-get install docker-ce=5:20.10.12~3-0~ubuntu-bionic docker-ce-cli=5:20.10.12~3-0~ubuntu-bionic containerd.io
-- 4. hello-world docker 만들기
sudo docker run hello-world
실행결과 :
Hello world 를 두 눈으로 확인했으니 오늘은 여기까지
'아키텍처 Architecture > Software Architecture' 카테고리의 다른 글
SpringBoot 무료 SSL 인증서 적용하기 (Certbot) (0) | 2022.02.19 |
---|---|
금융IT와 MSA - 4. 도커 실습 - github (0) | 2022.01.29 |
금융IT와 MSA - 2. SAGA 패턴 (0) | 2021.12.23 |
Node.js와 MySQL 초스피드 연동하기 1) npm init (2) | 2021.04.14 |
금융IT와 MSA - 1. 왜 필요한가? (0) | 2021.03.21 |