Framework and Tool/Docker

Image와 Container

ocwokocw 2023. 5. 31. 23:21

- 출처: https://docs.docker.com/get-started/overview/

Image

Image는 Docker container를 생성하기 위한 일종의 읽기-전용의 지시 template 이라고 할 수 있다. image는 다른 image를 기반으로 하여 커스터마이징 되기도 한다. 예를 들어 ubuntu image를 기반으로 apache web server와 application 을 설치하고 application을 실행하기 위해 환경 설정을 하는식이다.

Image를 만들기 위해서는 Dockerfile 을 만들고 image를 만들기 위한 절차를 기술해야 한다. Dockerfile 내의 각 절차는 image 내의 layer를 생성한다. Dockerfile을 변경하고 image를 다시 빌드하면 변경 layer 부분만 다시 빌드된다.

Docker의 이미지는 [저장소이름]/[이미지 이름]:[태그] 와 같은 형태를 갖는다.

 

Container

Container는 image의 실행 가능한 instance라고 볼 수 있다. Docker CLI와 API를 통해서 container를 생성, 시작, 중지, 이동, 삭제와 같은 조작을 할 수 있다. container를 network에 연결하거나 storage를 붙이는 행위도 가능하다.

기본적으로 container는 host machine과 다른 container와 격리되어 있다. container의 network, storage를 다른 container와 host machine 으로 부터 어느 정도로 격리시킬것인지도 제어가능하다.

Container가 삭제되면 영속 storage에 저장되지 않은 변경된 데이터는 모두 사라진다.