docker container의 이름을 대충 있을 때 해당 container의 ID가 필요할 때가 있다.
내 경우는..
bash 스크립트로 특정 docker container에 대해 작업할 내용이 있는데,
container 이름이 jihoonkang 또는 jihoon_kang 이런식으로 비슷하지만 항상 같지가 않아서
'jihoon'으로 container 이름을 필터한 다음, 그 container의 ID를 얻고, 그 ID에 대해 특정 명령을 내려야 했다.
docker ps로 컨테이너 정보를 출력하면 되는데, 아래 명령어로 필요한 정보만 필터한 다음, 그 내용을 변수로 저장하면 해결
container name으로 ID 얻기
$ docker ps --no-trunc -aqf "name=^jihoon*"
686073b0a56a5ff0bc313cddae9c3620cecdbc1ab54b6dddc0ffe0fe92ff6ffa
942816e6a69190c8eba00a757193e6b452cd84dfcd6e4cgea73d36a0afb7ec6d
b3f4822a271eafdf78feecea34b5310c218daaa1ec804cx7d779bb007c8812f7
4f0b305de0763b4b9e2f39d45ccec1230dab7302935adc28599ccf2f5672d300
bbda7e41b31c25ffca282293760be4ce905b6fe51ab9bd851e5c668d974ea516
cb9b9685938dbfe13b117cdc9265433842ac10fb99b27561a8625ae5330cfed0
옵션 내용은 다음과 같다.
--no-trunc : 줄인 ID를 보여주지않고 전체 ID를 보여준다.
a : running 상태뿐아니라 모든 컨테이너를 출력한다
q : quiet의 약자. ID외에 다른 정보는 출력하지 않는다
f : 필터를 추가 한다. 참고 : https://docs.docker.com/engine/reference/commandline/ps/
^ : '^' 다음에 오는 문자로 시작하는 컨테이너를 검색
0 댓글