티스토리 뷰
가상화 종류
- 서버 가상화
- 데스크탑 가상화
- 네트워크 가상화(SDN)
- 스토리지 가상화(SDS)
- 애플리케이션 가상화
서버, 데스크탑 가상화를 합쳐서 버츄얼라이제이션이라 함
Virtualization VS Containerization
Virtualization
- OS 기반
- 부팅 개념이 있음 (부팅 시간을 통상적으로 15분 잡음)
Containerization
- OS 없어서 더 가벼움
- Virtualization 보다 진입 장벽이 높음
- OS가 없으니 부팅 개념이 없음 (빠름)
도커쿠버네티스_배포 - Google Drive
이 폴더에 파일이 없습니다.이 폴더에 파일을 추가하려면 로그인하세요.
drive.google.com
윈도우나 MAC에서는 원래는 컨테이너 사용 불가.
WSL (window serve system for linux)을 사용해서 도커를 설치.
(컨테이너 기술은 리눅스 기반)
Virtualization은 하나만 설치해서 쓸 수 있음. (여러개 설치 시 충돌 날 확률이 높음)
Virtualbox
7버전 부터는 닷넷 최신버전 필요로 함. (6버전 깔아서 교육 진행)
VM image
- OS 설치용 이미지
- OS 실행용 이미지
Container Image
- Container 실행용 이미지
OCI -> Open Container Initiative (컨테이너 표준 규격은 이거 하나 밖에 없음)
CentOS 7버전 다운
http://isoredirect.centos.org/centos/7/isos/x86_64/
CentOS Mirrors List
isoredirect.centos.org
미러서버에서 미니멀 버전으로 다운
버츄얼 환경에서 빠져나오는 단축키 설정 (기존 Right Control은 인식이 안됨)
호스트 네트워크 관리자 (Ctrl + H)
192.168.56.1 > 172.16.0.1
RHEL64
Cpu : 1vCPU(default)
memory : 2048GB
Disk : 동적 20GB
Network : NAT(default) + Host-Only (Host-only 내부 인터페이스 구성, NAT 외부 구성)
mobaxterm (터미널 프로그램 putty 같은거)
https://mobaxterm.mobatek.net/download-home-edition.html
MobaXterm free Xserver and tabbed SSH client for Windows
The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!
mobaxterm.mobatek.net
Install로 Centos7버전을 VB에 설치해주고 언어 및 루트 비밀번호 설정하면서 설치 진행
centos 설치 및 부팅 후
nmcli con mod enp0s3 conn.autoconnect yes (네트워크 활성화)
nmcli con mod enp0s8 \
conn.autoconnect yes \
ipv4.address 172.16.0.200/24 \
ipv4.method manual
백슬래쉬를 사용해 여러줄 입력 가능
입력 후 ip a 명령어를 통해 ip 설정 확인 가능
VB centos7 실행됐으면 터미널 통해 ssh 프로토콜로 접속가능
ping 8.8.8.8 외부랑 네트워크 연결되어 있는지 핑테스트
8.8.8.8은 구글이 관리하는 IP로 외부 연결 확인할 때 많이 사용.
yum이나 curl 날려서 설치 (crul https://get.docker.com | sh)
설치 다되면 설치 제대로 되었는지 확인.
컨테이너는 항상 이미지를 통해 움직임.
registry : 이미지를 저장하는 공간.
dockerhub -> hub.docker.com
이미지 올릴 수도 있고, 여러 사람들이 올린 이미지도 다운받을 수 있음
docker pull nginx (nginx 이미지 다운)
docker run nginx
데몬 실행 시키고, enable docker를 통해 서비스 시작시 저절로 데몬 올라오게 설정.
바로 run nginx 명령어 실행하면 이미지가 없으니 저절로 nginx 이미지를 풀링해옴.
껐다가 다시 run nginx하면 이미 이미지가 있어서 바로 nignx 이미지가 실행 됨.
도커 이미지 활용 예제 ) mysql 환경 꾸리고 싶음. (mysql 환경설정 1도 모르는 상태)
이 때 그냥 올라와 있는 이미지 다운받아서 실행시키면 됨.
nginx 이미지 사용 도커는 표준 입력을 사용할 수 없음. (attach 모드)
-d 를 붙이면 완전히 분리된 상태로 실행함. (표준 입력 가능함. detach 모드)
-e 를 붙이면 환경변수를 설정하여 실행할 수 있음.
--name : 컨테이너 명 지정해줄 수 있음. (없으면 시스템이 자동으로 이름 붙여줌.)
docker ps : 컨테이너 목록 출력 명령어
reverent_wescoff, epic-cerf가 자동 설정된 이름.
중복은 안됨
docker rm webtest : 컨테이너 삭제
docker stop webtest : 컨테이너 중지
(컨테이너 중지 후 삭제 가능.)
docker start : 중지된 컨테이너를 실행
docker restart : 컨테이너 재기동
docker images : 도커에 설치 된 이미지 목록 보기
docker rmi : 이미지 삭제 명령어
docker ps -a : 중지된 컨테이너도 같이 보여줌
docker run -d -p 80:80 nginx : 포트 포워딩. 앞의 80은 VB 포트임. 뒤의 80은 컨테이너 포트.
(172.16.0.200:80:172.17.x.x:80)
x.x는 컨테이너에서 자동으로 만들어 줌.
172.16.0.0/24 -> VM SDN
172.17.0.0/16 -> Docker SDN
외부 브라우저에서 접근 시 컨테이너로 전달되어 nginx index 페이지가 리턴됨.
'클라우드' 카테고리의 다른 글
03. 도커&쿠버네티스 - 3일차 (0) | 2023.08.31 |
---|---|
02. 도커&쿠버네티스 - 2일차 (1) | 2023.08.29 |