Docker Container를 사용하다보면 명령어를 많이 사용하게됩니다. 보통 docker 명령어를 통해서 이미지를 실행 또는 stop을 할 수 있는데요, 기본적인 명령어 외에 어떤 명령어가 있는지 알아보도록합니다.
도커 컨테이너 (Docker Container)
도커 이미지를 통해서 도커 컨테이너를 생성 할 수 있습니다. 이전에도 설명드렸듯이 컨테이너는 이미지를 실체화한 것으로 이해 할 수 있는데요, 비유를 들자면
이미지 = 붕어빵틀
컨테이너 = 붕어빵
으로 이해할 수 있습니다. 즉 이미지 하나로 여러개의 컨테이너를 생성할 수 있는 것이죠.
자세한 도커 컨테이너 설명은 아래 포스팅을 참고하세요.
[k8s] 컨테이너(Container)와 쿠버네티스(Kubernetes) 소개
컨테이너(Container) 컨테이너는 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 소프트웨어 패키지이다. 이러한 방식으로 운영체제를 가상화여 프라이빗 퍼블릭 클라우드 또는 개
hyeri0903.tistory.com
컨테이너 생성
docker run ${image name}
docker run ${image_name} 명령어로 컨테이너를 생성할 수 있습니다. run 명령어로 실행한 컨테이너는 명령이 끝나거나 사용자의 명령에 따라 종료됩니다.
예를들자면
$ docker run ubuntu echo "hello"
hello
화면에 hello 라는 메시지만 출력하고 컨테이너는 종료됩니다. 컨테이너는 자신이 수행 할 명령어를 모두 수행했기 때문에 hello라는 메시지만 출력하고 종료되는 것입니다.
컨테이너 목록 조회
$ docker ps -a
docker ps -a 명령어를 통해 컨테이너의 상태 여부 및 목록을 조회할 수 있습니다.
위 명령어를 실행하면 모든 컨테이너를 출력하여 status 확인이 가능합니다.
-a 옵션을 주어 모든 컨테이너를 조회합니다.
컨테이너 시작/재시작/정지
아래와 같은 명령어로 컨테이너를 시작, 재시작, 정지할 수 있습니다.
$ docker start ${container_name}
$ docker restart ${container_name}
$ docker stop ${container_name}
컨테이너 접속
현재 실행중인 컨테이너에 접속하기 위한 명령어는 docker attach로 수행 가능합니다.
$ docker attach ${container_name}
외부 -> 컨테이너 내부 명령 실행
docker exec 명렁어로 컨테이너 밖에서 컨테이너 안의 명령어를 수행 가능합니다.
$ docker exec ${container_name} {command}
exec 명령어는 현재 실행 중인 컨테이너에만 적용가능하며 중지 상태의 컨테이너에는 적용 불가능합니다.
현재 실행중인 컨테이너는 docker ps -a 명령어를 통해 status를 확인하여 알 수 있습니다.
컨테이너 삭제
rm 명령어로 컨테이너를 삭제할 수 있습니다. 참고로 이미지 삭제는 rmi 입니다.
$ docker rm ${container_name}
$ docker rmi ${image_name}
모든 컨테이너와 이미지를 한 번에 삭제하고 싶으면 rm -f 옵션을 사용할 수 있습니다.
단, 이미지를 사용중인 컨테이너가 있다면 이미지 삭제가 불가능합니다. 따라서 모든 컨테이너 삭제 후 이미지를 삭제합니다.
$ docker rm -f $(docker ps -aq)
$ docker rmi $(docker images -q)
(주의: 삭제한 이미지는 복구 불가능합니다.)
이 외에도 다양한 명령어가 있습니다. 다음에 또다른 명령어에 대해서 포스팅하도록 하겠습니다.
참고:
컨테이너 실행 명령어 · snowdeer's Code Holic
컨테이너 실행 명령어 03 Jan 2018 | Docker Docker Container Docker 컨테이너는 Docker 이미지로부터 생성할 수 있습니다. 이미지 하나로부터 동일한 컨테이너를 여러개 생성할 수 있으며, 각 컨테이너는 샌
snowdeer.github.io
docker rmi 사용법: Docker 이미지를 삭제하는 방법
docker rmi 명령어로 이미지를 삭제할 수 있습니다. 이 글에서는 특정 Docker 이미지나 사용하지 않는 이미지들을 일괄 삭제하는 방법을 알려드립니다.
www.lainyzine.com
'스터디 > Cloud & k8s' 카테고리의 다른 글
[k8s] Container 환경에서 JVM GC (Garbage Collection) 확인하기 (0) | 2023.08.25 |
---|---|
[k8s] Helm과 Chart 란? (쿠버네티스 패키지 매니저) (0) | 2022.11.01 |
[k8s] 쿠버네티스 오브젝트(Kubernetes Objects) 종류 (0) | 2022.10.19 |
[k8s] 컨테이너 오케스트레이션 (Container orchestration) (0) | 2022.10.10 |
[k8s] 워크로드(workload)와 파드(pod), 도커(docker) (0) | 2022.10.02 |
댓글