[Docker] Docker란?
Docker ?
: Container 기반의 가상화 플랫폼으로 HostOS 위에 설치하여 OS 환경이 변화해도 docker만 깔려있다면 안정적으로 실행 가능(이식성)하며 코드를 통하여 ~.yaml 형식의 실행 환경 및 application 구성
· docker image : 컨테이너를 구성하는 파일 시스템으로 실행할 어플리케이션 설정을 지원하는 template
· docker container : docker image 기반으로 실행 된 어플리케이션
+) 하나의 application이 하나의 container로 구성
- docker 기능
이미지를 만드는 기능 : build
이미지를 공유하는 기능 : ship
컨테이너를 동작 하는 기능 : run
- docker 구성요소
docker component
engine
registry
compose
machine
swarm
- Container
· OS / Software 가 사용하는 동적 Library에 대하여 의존성을 가짐
· Application을 실제 환경에서 논리적인 구획으로 나누어 구성
· Application의 이식성 존재
+) OS가 하나의 컨테이너가 될 수도 있고, Application이 하나의 컨테이너가 될 수도 있음

- 하이퍼바이저(type1) 기반 가상화
: 하이퍼바이저 위에 각 Guest OS 및 Application을 가상화하여 사용하는 방식
- Container 기반 가상화
: Docker에서 Application 단위로 구현하며 프로세스를 격리해 가볍고 빠르게 동작 가능
+) Application 이 아닌 Guest os도 docker 위에서 구현 될 수 있지만 커널을 고쳐서 사용해야 함
(커널을 공개한 os만 가능 ex. Linux(GNU))
미들웨어
: os와 업무처리를 수행하는 어플리케이션 사이에 들어가는 소프트웨어
ex. httpd, nginx(웹페이지)

+) bin/lib가 미들웨어
+) Docker 명령어 정리
docker
|
pull
|
|
container
|
stats
stop
start
restart
pause/unpause
attach
diff
rename
rm
prune
ps
ls
top
exec
cp
commit
|
|
search
|
||
system
|
df
info
|
|
image
|
inspect
rm
ls
prune
save
|