docker run hello-world
root@swlee-laptop:/home/petrucio# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
docker run 명령어 실행 과정
도커는 실행할 이미지가 로컬에 존재하는지 확인하고, 존재하지 않으면 이미지를 다운로드한다.
이미지 파일은 도커 허브에서 해당 이미지 파일을 다운로드한다. 다운로드가 끝나면 이미지에서 컨테이너를 생성하고 실행한다.
프로그램 파일이 있고 그 프로그램을 실행하면 프로세스가 생기는 것처럼 이미지 파일이 있고 이 이미지를 실행하면 컨테이너가 생성된다.
docker images 명령어를 실행하면 로컬에 설치된 이미지를 표시한다. 실행하면 다음과 같이 hello-world:latest 이미지가 존재하는 것을 확인할 수 있다.
root@swlee-laptop:/home/petrucio# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest fce289e99eb9 15 months ago 1.84kB
docker container ls -a 명령어로 현재 컨테이너 목록을 확인할 수 있다.
docker run 명령어는 실행할 때마다 컨테이너를 생성하므로 docker run hello-world 명령어를 실행한 횟수만큼 컨테이너가 확인된다.
root@swlee-laptop:/home/petrucio# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c6582e63e4dd hello-world "/hello" 4 minutes ago Exited (0) 4 minutes ago gallant_allen
컨테이너(Container)
컨테이너 대한 소개는 https://www.docker.com/resources/what-container 문서를 참고한다.
Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space. Containers take up less space than VMs (container images are typically tens of MBs in size), can handle more applications and require fewer VMs and Operating systems.
'개발 > 시스템' 카테고리의 다른 글
도커(Docker) Ubuntu, Apache2 이미지 생성 및 실행 (0) | 2020.06.05 |
---|---|
우분투(Ubuntu) 18.04 도커(Docker) 설치 (0) | 2020.06.05 |
CentOS7 Apache SSL인증서 적용 (Certbot, Let's encrypt) (0) | 2020.06.05 |
IaaS, PaaS, SaaS (0) | 2020.06.05 |
CI(Continuous Integration)/CD(Continuous Deploy/Delivery) (0) | 2020.06.05 |