Docker는 컨테이너 방식으로 계층화된 파일 시스템을 기반으로 하여 효율적으로 이미지를 구축한다. Docker에서는 이미지 기반으로 컨테이너를 실행하고 저장과 공유를 할 수 있다. 이미지를 이용하여 파일을 보관하거나 원격저장소를 사용해서 쉽게 공유하며,
언제 어디서든 응용프로그램 및 운영체제를 컨티에너로 실행하는 것이 가능하다는 장점이 있다.
컨테이너는 프로세스의 실행 환경으로 격리되어, 컨테이너를 실행하는 호스트 입장에서 바라보면, 컨테이너는 프로세스이다. (사용자 or 컨테이너 입장에서는 하나의 가상머신처럼 보일 수 있음)
가상머신은 하드웨어를 가상화하여 활용한다면, 컨테이너는 운영체제가 별도의 프로세스 별 환경을 구축하여 컨테이너를 프로세스로 실행해주는 격리된 프로세스 도구라 할 수 있다.
Container는 전체 os가 아닌 s/w가 필요로하는 라이브러리와 설정만 가지고 있어 매우 가볍고, 디시크와 메모리 등 리소스를 적게 사용 할 수 있다.
또한 리눅스 커널의 ccgroups, namespace 공유, 파일 실행을 호스트 머신에서 직접 실행하여 속도가 빠르다.
** Docker.io는 리눅스 운영체제에서 간단하게 Docker 설치하는 패캐지
Docker install 후 version 확인
docker 실행하여 ps로 컨테이너에 대한 목록을 볼 수 있다.
: docker ps는 실행중인 컨테이너, docker ps -a 전체 컨테이너에 대한 정보를 볼 수 있다.
Docker images 하며 보유중인 Docker image 파일을 확인하고, docker pull 운영체제:버전하면 이미지를 다운받아볼 수 있다. 예시로 centos7를 다운받았다.
다음은 또다른 방법으로 Docker 설치하고, 실질적으로 Docker를 이용해보겠다.