docker
docker는 응용 프로그램 개발을 쉽고 단순화 하기 위해 설계된 SW이다.
docker image
docker image는 app이 동작하는데 필요한 소스코드, 라이브러리, dependencies, tool 등을 갖고 있는 변하지 않는 파일이다. 애플리케이션이 잘 동작할 때의 상태를 스냅샷 찍는다고 생각할 수 있다. 그래서 이미지는 only read 이다.
docker container
호스트 시스템과 분리되어 애플리케이션을 작동하기 위해 필요한 라이브러리나 애플리케이션 등을 모아놓은 것이다. 이는 별도의 서버인 것처럼 사용할 수 있다. 컨테이너를 생성할 때 사용되는 옵션과 이미지에 의해 컨테이너는 정의되어진다. 만약 컨테이너가 제거되면 영구 저장소에 저장되지 않은 상태의 변경사항은 삭제되니 유의해야한다.
docker image VS docker container
이미지는 단독으로 존재할 수 있지만, container는 이미지가 있어야 동작이 가능하다.
docker container는 image가 실행된 형태이다.
한 image로 container 1,2,3을 만들 수 있다.
예시로 mac과 window환경의 컴퓨터를 사용하는 사람이 있다. docker가 없으면 이 사람은 mac용 node, window용 node를 모두 설치해야한다. 하지만 docker를 설치하면 node 라는 docker image를 이용하여 어떤 os환경에서도 같은 node를 이용할 수 있다.
아래 코드는 docker container를 생성하는 명령문이다. 여기서 docker/getting-started는 이미지의 이름이다.
docker/getting-started라는 이름의 이미지를 실행시켜 container로 만든다.
docker run -d -p 80:80 docker/getting-started
참고페이지
https://docs.docker.com/get-started/overview/
Docker overview
docs.docker.com
https://phoenixnap.com/kb/docker-image-vs-container
Docker Image VS Container: What is the difference?
This tutorial helps you understand the difference between a Docker image and a container. Master basic Docker terminology with this comprehensive article.
phoenixnap.com
댓글