본문 바로가기
DevOps/DockerKubernetes

도커 명령어 시작하기

by 계영수 2022. 8. 11.
728x90

도커를 배운다는 것은 도커 명령어를 이용하여 도커 기반의 가상화된 인프라를 구축하는 것이다. 

따라서 처음 명령어 몇개 배워서 이해되기는 어렵고 기본 명령어를 몇번 반복하여 기억되어야 도커 기초가 정립될 것이다.

 

docker version

youngsoo@ubuntuvm:~$ docker version
Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:02:57 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:03 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.7
  GitCommit:        0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
 runc:
  Version:          1.1.3
  GitCommit:        v1.1.3-0-g6724737
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
youngsoo@ubuntuvm:~$

 

아파치 웹서버가 설치된 컨테이너의 생성

youngsoo@ubuntuvm:~$ docker run --name apache01 -d httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
1efc276f4ff9: Pull complete 
aed046121ed8: Pull complete 
4340e7be3d7f: Pull complete 
80e368ef21fc: Pull complete 
80cb79a80bbe: Pull complete 
Digest: sha256:343452ec820a5d59eb3ab9aaa6201d193f91c3354f8c4f29705796d9353d4cc6
Status: Downloaded newer image for httpd:latest
887ab360288174d4d9f8492531cdcb01bb558687608c591c57b8cf79df2aaf8c

youngsoo@ubuntuvm:~$ docker ps 
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS     NAMES
887ab3602881   httpd     "httpd-foreground"   7 seconds ago   Up 5 seconds   80/tcp    apache01

youngsoo@ubuntuvm:~$ docker ps -a
CONTAINER ID   IMAGE         COMMAND              CREATED          STATUS                      PORTS     NAMES
887ab3602881   httpd         "httpd-foreground"   9 seconds ago    Up 8 seconds                80/tcp    apache01
38144d60674d   hello-world   "/hello"             13 minutes ago   Exited (0) 13 minutes ago             naughty_euclid

youngsoo@ubuntuvm:~$

 

아파치 웹서가 동작하기 위해서는 컴퓨터, 운영체제, 런타임Runtime, 프로그램코드(아파치)가 필요하다. 아파치 웹서버를 물리 컴퓨터에 설치할 경우, 컴퓨터와 운영체제는 자연스럽게 준비가 되고 아파치 프로그램이 동작하기 위한 런타임도 기본적으로 운영체제에 포함되어 있다. 추가적으로 아파치 프로그램을 설치하여 동작할 수 있도록 준비하면 된다. 

 

도커를 이용하면 컨테이너를 다운로드 받게 되는데, 이 컨테이너에 운영체제, 런타임, 아파치 프로그램 코드가 모두 들어있다. 따라서 전통적인 방식에 비해서 아주 간단하게 프로그램의 배포와 동작이 가능하게 된다. 이것이 바로 컨테이너 기술의 힘이고, 컨테이너 기술을 구현하는 가장 대표적인 프로그램이 바로 도커Docker이다.

 

컨테이너가 동작 중인지 확인할 때 사용하는 명령어가 docker ps 이다. 이 명령어는 정지된 컨테이너는 보여주지 않기 때문에 docker ps -a 를 이용하면 정지된 컨테이너까지 모두 볼 수 있다.

 

 

728x90