도커란?

도커는 컨테이너 기반 가상화 플랫폼으로, 어떤 프로그램을 외부 환경과 격리시켜 구동할 수 있게 해주는 SW이다.

즉 버전이나 os 상관 없이 언제 어디서나 구동할 수 있도록 해주는 기특한 녀석이라고 할 수 있다.

여기서 컨테이너란 os 상에 논리적인 영역을 구축하고, 앱이 작동하는데 필요한 요소들을 모아 별도의 서버처럼 동작하는 실행환경이다. 앱과 그 실행에 필요한 모든 것들을 하나의 패키지로 묶은, 말 그래도 '컨테이너'와 똑같은 개념이다.

image.png

다만 도커는 리눅스 기반이기 때문에 기본적으로 리눅스가 아닌 곳에서 리눅스 환경으로 작성된 앱을 가동하기 위한 서비스이고, 그 외의 다른 크로스플랫폼 예를 들어 window에서 작성된 파일을 macOS에서 돌리고 이런 건 안된다.

도커 기본 명령어 구조

docker {대상}{커맨드}{옵션}{인자}

명령어는 그때 그때 찾아가면서 사용하면 된다. 주로 build, run이나 stop, ls, push, pull 등을 많이 사용하게 될 것....

도커 컨테이너 구조

  1. 이미지 레이어
  2. 컨테이너 레이어

때문에 이미지 레이어는 하나만 있어도 되고, 여러 환경에서 이미지를 가져다가 컨테이너를 생성할 수 있는 것이다.

Dockerfile