-
docker container exec -it <container_id> <command>작동 방식web 2023. 2. 10. 13:42
거의 매일 쓰는 명령어인데 작동 방식을 모르겠다.
어떤 컨테이너는 jstat 같은 명령어가 되고 어떤 건 안된다.
어떤식으로 되는건지 공부해 봐야 겠다.
docker container run 과 docker container exec 이 있는데, 전자는 컨테이너를 새로 실행, 후자는 이미 실행된 컨테이너에 명령을 보내는 차이점이 있다.
-it 는 -i 와 -t 플래그가 합쳐져 있는데, -i 는 interactive, terminal input 을 받기 위한 세션을 유지하는 플래그이고, -t 는 pseudo-tty, SSH 처럼 real terminal 을 시뮬레이트 하는 기능이다.
이외에도 여러 플래그가 있고 -a 는 stdout/stderr 를 attach 하는 기능이다.
docker container exec -it <container_id> <command>
예를 들어, docker container exec -it <container_id> bash
위 명령어를 실행할 경우 컨테이너의 파일 시스템에 루트 권한으로 bash shell 접근이 가능하다.
<command> 는 컨테이너에 이미 포함된 기능만 실행 가능하며, 여기에는 apt-get 도 포함되어 있어 기능이 없으면 다운로드 받으면 된다. 단, restart 하면 다운받은게 없어진다.
리눅스 Alpine 의 경우 bash 가 기본으로 내장되어 있지 않기에 sh 를 이용해야 하며, package management 는 apk 이다.
'web' 카테고리의 다른 글
Kubernetes 기본기본 개념 정리하기 (0) 2022.11.09