code

컨테이너 이름에서 도커 컨테이너 ID 가져 오기

codestyles 2020. 10. 23. 07:55
반응형

컨테이너 이름에서 도커 컨테이너 ID 가져 오기


컨테이너 이름에서 도커 컨테이너 ID를 가져 오는 명령은 무엇입니까?


Linux에서 :

sudo docker ps -aqf "name=containername"

또는 OS X :

docker ps -aqf "name=containername"

containername컨테이너 이름은 어디에 있습니까 ?

@llia Sidorenko가 지적했듯이 오탐을 피하기 위해 다음과 같이 정규식 앵커를 사용할 수 있습니다.

docker ps -aqf "name=^containername$"

설명:

  • -q조용히. ID 만 출력
  • -a모든. 컨테이너가 실행되고 있지 않아도 작동합니다.
  • -f대한 필터 .
  • ^컨테이너 이름은 이 문자열로 시작 해야 합니다.
  • $컨테이너 이름은 이 문자열로 끝나야 합니다.

이것을 시도 할 수 있습니다.

docker inspect --format="{{.Id}}" container_name

이 접근 방식은 OS에 독립적입니다.


  1. 실행중인 컨테이너의 컨테이너 ID 가져 오기 ::

    $docker ps -qf "name=IMAGE_NAME"
    
        -f: Filter output based on conditions provided
        -q: Only display numeric container IDs
    
  2. 모든 컨테이너의 컨테이너 ID 가져 오기 ::

    $docker ps -aqf "name=IMAGE_NAME"
    
        -a: all containers
    

컨테이너 이름을 기반으로 완전한 ContainerId를 얻으려면 다음 명령을 사용하십시오.

 docker ps --no-trunc -aqf name=containername

내가 생각할 수있는 가장 간단한 방법은 docker ps

최신 우분투 이미지를 대화식으로 실행하고 연결해 보겠습니다.

docker run -it ubuntu /bin/bash

docker ps다른 터미널에서 실행 하면 다음과 같은 것을 볼 수 있습니다.

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
8fddbcbb101c        ubuntu:latest       "/bin/bash"         10 minutes ago      Up 10 minutes                           gloomy_pasteur

안타깝게도이 형식을 구문 분석하는 것은 공백을 사용하여 수동으로 항목을 정렬하기 때문에 쉽지 않습니다.

$ sudo docker ps | sed -e 's/ /@/g'
CONTAINER@ID@@@@@@@@IMAGE@@@@@@@@@@@@@@@COMMAND@@@@@@@@@@@@@CREATED@@@@@@@@@@@@@STATUS@@@@@@@@@@@@@@PORTS@@@@@@@@@@@@@@@NAMES
8fddbcbb101c@@@@@@@@ubuntu:latest@@@@@@@"/bin/bash"@@@@@@@@@13@minutes@ago@@@@@@Up@13@minutes@@@@@@@@@@@@@@@@@@@@@@@@@@@gloomy_pasteur@@@@@@

다음은 출력을 JSON으로 변환하는 스크립트입니다.

https://gist.github.com/mminer/a08566f13ef687c17b39

실제로 출력은 그것보다 작업하기가 조금 더 편리합니다. 모든 필드의 너비는 20 자입니다.[['CONTAINER ID',0],['IMAGE',20],['COMMAND',40],['CREATED',60],['STATUS',80],['PORTS',100],['NAMES',120]]

참고 URL : https://stackoverflow.com/questions/34496882/get-docker-container-id-from-container-name

반응형