Summary

CLI는 무엇인가?
Docker Hub에서 Doxker Image 를 검색한 뒤 사용
한 개의 Docker image를 이용해서 Xontainer를 구축
두 개 이상의 Docker Container를 이용해서 Container를 구축
Docker LifeCycle 을 통해 오늘 배우지 않은 부분이 무엇인지 알 수 있다.

1.Docker

어플리케이션 실행 환경을 코드로 작성 가능, OS를 격리화하여 관리하는 기술.

(1) 환경 표준화

어플리케이션이 어떤 환경에서 구동될지 염두한 뒤 개발되어야 함.
(같은 Linux라고 할지라도 UBuntu, ㅊ두섄, DEbian 등 여러 버전이 존재)

(2) 수작업으로 일치시키는 환경 구성

모든 개발자, 사용자가 동일한 OS 환경을 유지 한다면 각기 다른 OS에 필요한 빌드 및 테스트 시간은 줄일 수 있지만, 각자의 컴퓨터 혹은 사용목적에 따라 설정이 필요하다.
즉, 같은 OS라도 사용자에 따라 달라지는 구성이 있다.

(3) 리소스의 격리성

IP address는 집주소, Port Number는 방주소.
서버가 하나, IP 주소를 구분하기 위해 브릿지를 설정, 때문에 방화벽 규칙 a와 b가 충돌.
해결 방법-> 리소스 격리성. 즉, 가상머신, 도커
가상머신 VirtualBox, VMware와 같은 해당하는 가상머신은 개발 혹은 사용하는 환경을 이미지로 저장, Host OS 위에 게스트 OS를 띄우는 방식.

가상화 방법과 도커는 격리성을 제공하기 때문에 각 어플리케이션 마다 다른 컴퓨터에서 실행되는 것처럼, IP,Port 등을 다르게 설정할 수 있다.

  • 도커는 Cirtual Marchine 만큼 견고한 격리성을 제공하지 않는다.
  • 도커는 리눅스의 컨테이너를 이용한 기술로 OS위에 다른 OS를 실행하는 것이 아니기 때문에 Virtual Marchine 보다 좋은 성능을 낼 수 있다.

도커 리눅스에서 실행되는 프로그램은 다른 OS에서 실행 가능하게 만든다.
리눅스에 컨테이너라는 기술이 있고 도커는 이를 받아들여 다른 OS에서 실행 가능 하도록 만듦.

실행환경 인식은 선행이 되어야 한다. 환경, 하드웨어, 인식이 중요.

2. Linux Container

(1) Linux Container

리눅스 기반의 기술 중에 하나로 필요한 라이브러리와 어플리케이션을 모아서 마치 별도의 서버처럼 구성한 것. 컨테이너를 이루는 네트워크 설정, 환경 변수 등의 시스템 자원은 각 컨테이너가 독립적으로 소유.

프로세스의 구획화

  • 특정 컨테이너에서만 작동하는 프로세는 기본적으로 그 컨테이너 안에서만 접급가능.
  • 컨테이너 안에서 실행되는 프로세스는 다른 컨테이너의 프로세스에게 영향을 줄 수 없음.
    네트워크의 구획화
  • 기본으로 컨테이너 하나에 IP 주소가 할당
    파일시스템의 구획화
  • 컨테이너 안에서 사용되는 파일 시스템은 구회화 되어 있다.때문에 해당 컨테이너에서 명령이나 파일 등 액세스를 제한.

(2) 컨테이너 기술의 역사

FreeBSD Jail

  • 오픈소스 Unix인 FreeBSD에서 사용된 기술
  • Unix 버전을 대상으로 하며, Jail 이라는 명칭의 컨테이너를 사용
    Solaris Containers
  • Orcla의 상용 Unix인 Solaris에서 사용하는 컨테이너. 2005년인 Solaris 10추가된 기능

3. Docker 컨테이너에 파일을 복사하기

게임서버, 웹 서버와 같이 여러분이 사용할 도구가 도커 이미지에 모두 구성되어 있지 않은 경우

  • 웹 서버는 도커 컨테이너로 실행
  • 웹 서버를 구성하는 파일은 코더가 만들거나 가져온 파일 구성

장점

  • 서버에 문제가 생기는 것을 호스트와 별개로 파악할 수 있음.
  • 문제가 생긴 서버를 끄고, 마치 공장초기화를 하듯 도커 이미지로 서버를 재구동하기 용의함.

로컬 파일로 도커 이미지 이용

  • CP : 호스트와 컨테이너 사이에 파일을 복사(Copy)
  • Volume : 호스트와 컨테이너 사이에 공간을 마운트(Mount) -> 저장 공간을 다른 장치에서 접근할 수 있도록 경로를 허용해서 마치 하나의 저장공간을 이용하는 것처럼 보이게 하는 작업.

프로세스:

프로그램:

도커 이미지:

profile
danny + realism

0개의 댓글