서버 세팅 & tool/docker

[windows] docker; 컨테이너 가상화

방푸린 2024. 2. 10. 17:14
반응형

환경: windows11

 

virtualization

  • 물리적인 컴퓨터 리소스를 다른 시스템이나 애플리케이션에서 사용할 수 있도록 제공
  • 플랫폼 가상화
  • 리소스 가상화

하이퍼바이저(hypervisor)

  • Virtual machine manager(VMM)
  • 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼
  • type1(native / bare metal): 하드웨어에 직접 하이퍼바이저를 설치해서 가상화 운영
  • type2(hosted): 하드웨어 위에 os가 있고 그 위세 하이퍼바이저를 설치해서 가상화 운영
    • 보통 사용 방식

OS virtualization; os 가상화

  • host os 위에 guest os 전체를 가상화
  • VMware, VirtualBox
  • 자유도가 높으나 시스템에 부하가 많고 느려
  • 여러 vm을 띄우면 중복적인 리소스가 반복적으로 사용하게 될 수도 있음 

container virtualization; 컨테이너 가상화

  • host os가 가진 리소스를 적게 사용하며 필요한 프로세스 실행
  • 최소한의 라이브러리와 도구만 포함
  • container의 생성 속도 빠름
  • 중복 리소스 제거 가능. 도커 엔진이 가진 리소스 사용

컨테이너 이미지

  • 컨테이너 실행에 필요한 설정 값 모두
  • 이미지 안에 의존성을 이미 다 가지고 있기 때문에 별도 설치할게 없음 
  • 이미지를 가지고 실체화 한 것이 컨테이너 
  • 이미지 저장소: registry
    • public registry: docker hub
    • private registry 운영 가능 
  • 도커 호스트: 이미지를 실행할 수 있는 곳; 레지스트리에서 다운로드한 이미지를 실행 
    • run: create + start

dockerfile

  • 도커 이미지를 생성하기 위한 스크립트 파일 
  • 자체 문법 DSL(domain specific language) 언어 사용하여 이미지를 생성하기 위한 과정을 기술 
  • docker desktop -> docker container 사용

docker desktop download

docker cmd를 사용하기 위해서는 docker desktop을 실행하여 docker daemon을 실행하여야 함

run 해보고 이상없는지 확인하기 위해 아무 cmd 열어서 아래 명령어 입력

docker info

현재 docker가 가지고 있는 image 확인

docker image ls

현재 docker실행중인 container

docker container ls

명령어

  • create
  • start 실행
  • run = create + start 이미지 없으면 다운로드까지
  • tag: version같은 것; 혹은 용도별 마킹/없으면 자동으로 lastest
  • --name 이름 안 넣으면 랜덤 하게 됨; 중복 안됨, --rm 컨테이너 stop 하고 나서, -it iternative terminal,  --link....
  • 호스트=pc 

 

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

도커 이미지 관리; 다운로드 가능

docker pull ubuntu:16.04 //down
docker images | grep 16.04 //검색
docker run ubuntu:16.04 //실행 but 바로 종료
docker ps // 도커 컨테이너 실행중인것 확인
docker container ls -a //전체 히스토리 확인
docker container rm 컨테이너ID //컨테이너 삭제
728x90
반응형