-
1. 도커 파일 및 실습용 파일을 설치한 이후에 맥의 터미널 환경에서 아래 명령어를 실행해본다.
- docker container run diamol/ch02-hello-diamol
- 이름이 diamol/ch02-hello-diamol인 도커 애플리케이션 패키지를 내려받고 컨테이너로 애플리케이션을 실행해 메시지를 출력한다.
- docker container run 명령은 컨테이너로 애플리케이션을 실행하라는 도커 명령이다.
- 이 컨테이너 패키지(도커에서는 이를 '이미지'라고 한다.)의 이름은 diamol/ch02-hello-diamol 이다. 그리고 지금 입력한 명령이 이미지를 이용해 컨테이너를 실행하는 도커 명령이다.
2. 위의 과정을 토대로 도커의 워크플로의 핵심을 볼 수 있다.
- 애플리케이션을 컨테이너에서 실행할 수 있도록 패키징한다.
- 다른 사람이 패키지를 사용할 수 있도록 공유한 다음, 이 패키지를 내려받은 사람이 컨테이너를 통해 애플리케이션을 실행한다.
- 도커에서는 이 과정을 빌드, 공유, 실행이라고 부른다.
3. 조금 전의 명령을 한 번 더 입력해 보자.
- 아까와 비슷하지만 조금 다른 내용이 출력된다.
- 도커가 조금 전 이미지를 이미 내려받았기 때문에 이미지를 내려받는 부분이 사라지고 바로 컨테이너를 실행하는 메시지가 출력된다.
4. 도커는 위와 같은 구조를 띄고 있다.
- 이러한 구도가 중요한 이유는 격리와 밀집이라는 조건을 동시에 만족시킬 수 있기 때문이다. 밀집이란 컴퓨터에 CPU와 메모리가 허용하는 한 되도록 많은 수의 애플리케이션을 실행하는 것을 의미한다. 그러나 서로 다른 여러 애플리케이션을 동시에 실행하는 데는 제약이 따른다.
- 이런 상황을 조건을 동시 달성하려면 첫 번째 시도는 가상 머신을 사용하는 것이었다. 다만, 가상머신은 별도의 운영체제를 필요로 한다.즉 각각의 가상머신은 각각의 운영체제를 필요로 하고 이에 따라 많은 리소스가 필요시 된다.