티스토리 뷰

728x90
반응형

서론

본 포스팅에서는 Docker Container의 Exit Code에 대해 알아보도록 하겠습니다.

아래는 Kubernetes를 Kubespray로 기동한 이후의 docker ps  결과입니다.

아래와 같이 Docker Process 중 일부에서 Exited (n) About an hour ago 라는 메시지가 출력되는 것을 확인할 수 있습니다.

개인적으로도 Kubernetes를 처음 설치했을때 위와 같은 Exited Code 들이 혹시 설치가 제대로 되지는 않았던 것인지? 의문이 생기기도 했었으니 아마 저와 비슷한 고민을 하시는 분들이 더러 있을 것이라 생각됩니다.

먼저 결론부터 말하자면, Docker Process에 나타나는 Exit Code 들은 Bash Script의 Exit Code를 따라가며, 0은 성공, 1 ~ 255는 실패를 의미합니다. 따라서 컨테이너 실행 결과는 echo$?로 확인 할 수 있습니다.

현재 dockre ps -a 결과로 Exited 0, 255이 나타나고 있습니다.

본문

docker ps --filter "status=exited"

[root@kubemaster ~]# docker ps -f status=exited
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                     PORTS               NAMES
33f3ae4ffd6b        1a6ade52d471                               "/install-cni.sh"        2 hours ago         Exited (0) 2 hours ago                         k8s_install-cni_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_3
60dd98297574        680bc53e5985                               "/coredns -conf /etc   40 hours ago        Exited (255) 2 hours ago                       k8s_coredns_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_1
da0131b80e17        dfe4432cd2e2                               "/cluster-proportion   40 hours ago        Exited (255) 2 hours ago                       k8s_autoscaler_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_1
28d10f5f8c27        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_2
57be74bac7d0        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_2
9b2e18480602        bf4ff15c9db0                               "start_runit"            40 hours ago        Exited (255) 2 hours ago                       k8s_calico-node_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_2
dcae96557902        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_1
cadda4a2cf56        9b65a0f78b09                               "/usr/local/bin/kube   40 hours ago        Exited (255) 2 hours ago                       k8s_kube-proxy_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_1
c38f61a1fcfe        a1efff7492c8                               "/node-cache -locali   40 hours ago        Exited (255) 2 hours ago                       k8s_node-cache_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_1
e1195ef31d52        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_1
c85fe30b6af3        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_1
2eb2bc1b2fb2        df60c7526a3d                               "kube-apiserver --ad   40 hours ago        Exited (255) 2 hours ago                       k8s_kube-apiserver_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_1
175fd5562921        bb16442bcd94                               "kube-controller-man   40 hours ago        Exited (255) 2 hours ago                       k8s_kube-controller-manager_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_1
f24178e0f688        98fecf43a54f                               "kube-scheduler --au   40 hours ago        Exited (255) 2 hours ago                       k8s_kube-scheduler_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_1
2ef121c82033        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_1
69f1125b08f5        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_1
18df38a7ad0e        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 40 hours ago        Exited (255) 2 hours ago                       k8s_POD_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_1
[root@kubemaster ~]#

먼저 발생한 Exited Code들을 먼저 살펴보고 왜 이 코드가 나타났는지 진단해본 뒤 여러 종류의 Exited Code를 더 살펴보는 방식으로 포스팅을 진행하겠습니다.

Kubernetes 기동 시 발생한 Exited Code

1) Exited (0)

Kubernetes를 기동할 때 발생되는 Exited (0)은 Docker Process가 수행해야 할 모든 Command 또는 Shell을 실행하고 정상 종료되었을 때 발생합니다.

8000cee9a6e2        1a6ade52d471                               "/install-cni.sh"        53 minutes ago      Exited (0) About an hour ago                       k8s_install-cni_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_2

위의 경우 Kubernetes의 CNI 모듈 중 Calico를 설치하기 위한 install-cni.sh이 실행되고 정상 종료되어 발생한 Exited 코드라고 볼 수 있습니다.

또한 Node가 재기동 되거나, Docker stop 명령어로 중지할 경우에도 Docker Process의 상태는 Exited (0)으로 나타납니다.

5c055e25d529        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 26 hours ago        Exited (0) 23 hours ago                            k8s_POD_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_0

f9e8789d4f90        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 26 hours ago        Exited (0) 23 hours ago                            k8s_POD_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_0

1af384e0e7a0        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 26 hours ago        Exited (0) 23 hours ago                            k8s_POD_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_0

위와 같은 경우 Kubernetes가 정상 기동되어 있는 상태에서 Virtual Machine을 강제로 재기동 할 경우 기존 Process 들이 Stop 상태로 변경되어 Exited (0)을 나타냅니다.

물론 재기동이 되면 Stop 상태의 Kubernetes Process 이외의 정상 Process 들이 기동되게 됩니다.

 

2) Exited (255)

Exited Code 255가 발생하는 원인은 Docker Image에 정의된 EntryPoint 또는 CMD가 수행이 완료되었을 경우 발생합니다.

60dd98297574        680bc53e5985                               "/coredns -conf /etc   40 hours ago        Exited (255) 2 hours ago                       k8s_coredns_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_1 

Docker Process는 특이하게 CMD나 EntryPoint로 기동되면 해당 명령어가 Docker Container의 1번 PID로 기동되게 됩니다.

이때 CMD나 EntryPoint가 수행되고 종료되면, OS PID 1번인 Init Process가 죽는 것과 같이 해당 Container가 죽어버리게 됩니다.

이러한 현상을 막기 위해서는 Container Image를 생성할 때 CMD가 종료되지 않도록 후행 처리하는 것이 중요합니다.

또한 Kubernetes Node가 종료되어 Restart 되었을 경우에도 발생할 수 있습니다.

 

그 밖에도 다양한 Docker Process의 Exited Code 들이 존재합니다.

 

3) Exited (125) : docker run 명령어의 실패로 실제 docker process가 기동되지 않음

4) Exited (126) : docker Container 내부에서 Command를 실행하지 못할 경우 발생 (권한 문제, 접근 문제, 파일 문제, 옵션 문제 등등으로 발생 가능함)

5) Exited (127) : docker Container 내부에서 Command를 발견하지 못하였을 경우 발생

6) Exited (128 + n) : 리눅스 시그널에 의해 종료되는 경우 발생. n이 바로 Linux Signal Number를 의미

- Exited (130) : 128 + 2로 Linux Signal num 2인 SIGINT가 발생하였을 경우입니다. 바로 Ctrl + c를 입력하여 종료되는 경우를 의미합니다.

- Exited (137) : 128 + 9로 Linux Signal num 9인 SIGKILL이 발생하였을 경우입니다. 자주 사용하는 kill -9로 인해 종료되었을 경우를 의미합니다. docker kill, docker rm -f를 사용했을때 발생 가능합니다.

- Exited (143) : 128 + 15로 Linux Signal num 15인 SIGTERM이 발생하였을 경우입니다.

Exited Docker Container 정리하기

어떠한 이유에서든 Exited Code가 발생한 Container는 더 이상 사용이 불필요한 상태입니다.

Exited Status 상태의 Container들을 한번에 정리하기 위해 아래와 같은 명령어를 실행해 보도록 하겠습니다.

docker rm -v $(docker ps -a -q -f status=exited)

[root@kubemaster ~]# docker ps -a

CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS                     PORTS               NAMES

ab637810b56e        dfe4432cd2e2                               "/cluster-proportion   3 hours ago         Up 3 hours                                     k8s_autoscaler_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_2

bde618f9c803        680bc53e5985                               "/coredns -conf /etc   3 hours ago         Up 3 hours                                     k8s_coredns_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_2

6726974b4a00        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_4

d0df339437c6        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_4

4ae1892a8901        bf4ff15c9db0                               "start_runit"            3 hours ago         Up 3 hours                                     k8s_calico-node_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_3

0b5e9983ab5a        9b65a0f78b09                               "/usr/local/bin/kube   3 hours ago         Up 3 hours                                     k8s_kube-proxy_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_2

34c485efc9b5        a1efff7492c8                               "/node-cache -locali   3 hours ago         Up 3 hours                                     k8s_node-cache_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_2

ad735fd8d9c9        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_2

33f3ae4ffd6b        1a6ade52d471                               "/install-cni.sh"        3 hours ago         Exited (0) 3 hours ago                         k8s_install-cni_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_3

adb4a5d42ed3        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_2

216d5533c1f6        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_2

07e5fa51ff73        98fecf43a54f                               "kube-scheduler --au   3 hours ago         Up 3 hours                                     k8s_kube-scheduler_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_2

900bbe227441        df60c7526a3d                               "kube-apiserver --ad   3 hours ago         Up 3 hours                                     k8s_kube-apiserver_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_2

84290fe8e1de        bb16442bcd94                               "kube-controller-man   3 hours ago         Up 3 hours                                     k8s_kube-controller-manager_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_2

31830a0fe497        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_2

f11168aaec9e        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_2

9358dfa022b9        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                                     k8s_POD_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_2

719768552f4e        quay.io/coreos/etcd:v3.3.10                "/usr/local/bin/etcd"    3 hours ago         Up 3 hours                                     etcd1

60dd98297574        680bc53e5985                               "/coredns -conf /etc   41 hours ago        Exited (255) 3 hours ago                       k8s_coredns_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_1

da0131b80e17        dfe4432cd2e2                               "/cluster-proportion   41 hours ago        Exited (255) 3 hours ago                       k8s_autoscaler_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_1

28d10f5f8c27        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_2

57be74bac7d0        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_2

9b2e18480602        bf4ff15c9db0                               "start_runit"            41 hours ago        Exited (255) 3 hours ago                       k8s_calico-node_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_2

dcae96557902        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_1

cadda4a2cf56        9b65a0f78b09                               "/usr/local/bin/kube   41 hours ago        Exited (255) 3 hours ago                       k8s_kube-proxy_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_1

c38f61a1fcfe        a1efff7492c8                               "/node-cache -locali   41 hours ago        Exited (255) 3 hours ago                       k8s_node-cache_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_1

e1195ef31d52        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_1

c85fe30b6af3        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_1

2eb2bc1b2fb2        df60c7526a3d                               "kube-apiserver --ad   41 hours ago        Exited (255) 3 hours ago                       k8s_kube-apiserver_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_1

175fd5562921        bb16442bcd94                               "kube-controller-man   41 hours ago        Exited (255) 3 hours ago                       k8s_kube-controller-manager_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_1

f24178e0f688        98fecf43a54f                               "kube-scheduler --au   41 hours ago        Exited (255) 3 hours ago                       k8s_kube-scheduler_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_1

2ef121c82033        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_1

69f1125b08f5        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_1

18df38a7ad0e        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 41 hours ago        Exited (255) 3 hours ago                       k8s_POD_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_1

[root@kubemaster ~]# docker rm -v $(docker ps -a -q -f status=exited)

33f3ae4ffd6b

60dd98297574

da0131b80e17

28d10f5f8c27

57be74bac7d0

9b2e18480602

dcae96557902

cadda4a2cf56

c38f61a1fcfe

e1195ef31d52

c85fe30b6af3

2eb2bc1b2fb2

175fd5562921

f24178e0f688

2ef121c82033

69f1125b08f5

18df38a7ad0e

[root@kubemaster ~]# docker ps -a

CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS               NAMES

ab637810b56e        dfe4432cd2e2                               "/cluster-proportion   3 hours ago         Up 3 hours                              k8s_autoscaler_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_2

bde618f9c803        680bc53e5985                               "/coredns -conf /etc   3 hours ago         Up 3 hours                              k8s_coredns_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_2

6726974b4a00        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_coredns-58687784f9-jshnf_kube-system_a07089a3-cc48-42df-a9f6-0c4f9db41803_4

d0df339437c6        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_dns-autoscaler-79599df498-fvddt_kube-system_69e91902-b6e7-4c7a-ad80-57f4e74274ac_4

4ae1892a8901        bf4ff15c9db0                               "start_runit"            3 hours ago         Up 3 hours                              k8s_calico-node_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_3

0b5e9983ab5a        9b65a0f78b09                               "/usr/local/bin/kube   3 hours ago         Up 3 hours                              k8s_kube-proxy_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_2

34c485efc9b5        a1efff7492c8                               "/node-cache -locali   3 hours ago         Up 3 hours                              k8s_node-cache_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_2

ad735fd8d9c9        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_kube-proxy-dm55b_kube-system_f9e66380-d225-487d-b236-6e1a891c1d6b_2

adb4a5d42ed3        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_nodelocaldns-kjkd9_kube-system_185d6969-d5f1-451c-9390-9b144b39bed4_2

216d5533c1f6        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_calico-node-nzwvv_kube-system_9002216b-3f3b-4f1d-979b-18f788a7b0f9_2

07e5fa51ff73        98fecf43a54f                               "kube-scheduler --au   3 hours ago         Up 3 hours                              k8s_kube-scheduler_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_2

900bbe227441        df60c7526a3d                               "kube-apiserver --ad   3 hours ago         Up 3 hours                              k8s_kube-apiserver_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_2

84290fe8e1de        bb16442bcd94                               "kube-controller-man   3 hours ago         Up 3 hours                              k8s_kube-controller-manager_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_2

31830a0fe497        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_kube-apiserver-kubemaster_kube-system_2c8c858fb1f652ffa713e804eba74b9a_2

f11168aaec9e        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_kube-scheduler-kubemaster_kube-system_3e128801ef687b022f6c8ae175c9c56d_2

9358dfa022b9        gcr.io/google_containers/pause-amd64:3.1   "/pause"                 3 hours ago         Up 3 hours                              k8s_POD_kube-controller-manager-kubemaster_kube-system_2e66904ff996fcb87ea953fa44c81051_2

719768552f4e        quay.io/coreos/etcd:v3.3.10                "/usr/local/bin/etcd"    3 hours ago         Up 3 hours                              etcd1

[root@kubemaster ~]#

위와 같이 exited status의 모든 Container가 일괄적으로 정리된 것을 확인할 수 있습니다.

결론

이번 포스팅에서는 docker container의 exit code에 대해 알아보았습니다.
exit라는 단어에서 풍기는 종료, 실패라는 의미뿐 아니라 정상 종료, 완료라는 의미 역시 담고 있다는 것에 유의해야하며, 혹시나 원하는데로 docker container가 기동되지 않거나 동작하지 않을 경우 echo $?로 상태를 진단하는 습관을 갖는 것이 중요합니다.

728x90
반응형