Heesung Yang
Docker ps 내용 바꾸기
내 이야기
docker ps 실행 시 기본으로 출력되는 항목은 다음과 같다.
그러나,
- 이미지 이름이 길거나
- container 이름이 길거나
- 터미널 가로 크기가 좁거나
등등 다양한 이유로 위와 같이 줄바꿈이 되는 경우 가독성이 매우 떨어진다. (물론 줄바꿈이 되더라도 잘 보는 분들도 있다.) 필자는 한 줄 출력을 선호하기 때문에 아래와 같이 변경해 보았다.
아래 가이드는 Linux/Mac을 기준으로 작성하였다.
# 사용자 계정의 $HOME 디렉토리 하위에 .docker 디렉토리를 생성하고
~$ mkdir ~/.docker
# config.json 파일을 만든다.
~$ vi ~/.docker/config.json
~/.docker/config.json 내용은 아래와 같이 변경하자.
{
"psFormat": "table {{.Names}}\\t{{.Image}}\\t{{.Status}}\\t{{.Ports}}"
}
그리고 다시 docker ps 명령어를 실행해보면,
설정한 정보만 출력된다.! 이 외에도 출력할 수 있는 정보의 종류는 다양하지만 추천하는 항목은 아래 4개다. 필자가 모든 정보를 하나하나 출력해 보았지만, 이 4개면 충분하다고 결론 내렸다.
- Names
- Image
- Status
- Ports
출력할 수 있는 모든 정보와 출력 예제는 아래를 참고하자.
Reference
설정할 수 있는 정보의 종류는 docker 공식 문서에 나와있다.
Placeholder | Description |
---|---|
.ID | Container ID |
.Image | Image ID |
.Command | Quoted command |
.CreatedAt | Time when the container was created. |
.RunningFor | Elapsed time since the container was started. |
.Ports | Exposed ports. |
.State | Container status (for example; “created”, “running”, “exited”). |
.Status | Container status with details about duration and health-status. |
.Size | Container disk size. |
.Names | Container names. |
.Labels | All labels assigned to the container. |
.Label | Value of a specific label for this container. For example ‘{{.Label “com.docker.swarm.cpu”}}’ |
.Mounts | Names of the volumes mounted in this container. |
.Networks | Names of the networks attached to this container. |
아래 docker-compose.yml
파일로 생성한 container 2개의 ps 결과를 각 항목마다 출력해보았다.
version: "3.1"
services:
mc:
image: nextgenhealthcare/connect
environment:
- DATABASE=postgres
- DATABASE_URL=jdbc:postgresql://db:5432/mirthdb
- DATABASE_MAX_CONNECTIONS=20
- DATABASE_USERNAME=mirthdb
- DATABASE_PASSWORD=mirthdb
- DATABASE_MAX_RETRY=2
- DATABASE_RETRY_WAIT=10000
- KEYSTORE_STOREPASS=docker_storepass
- KEYSTORE_KEYPASS=docker_keypass
- VMOPTIONS=-Xmx512m
ports:
- 8080:8080/tcp
- 8443:8443/tcp
depends_on:
- db
db:
image: postgres
environment:
- POSTGRES_USER=mirthdb
- POSTGRES_PASSWORD=mirthdb
- POSTGRES_DB=mirthdb
expose:
- 5432
volumes:
- db_data:/var/lib/postgres
volumes:
db_data:
.ID
CONTAINER ID
6d568d28031b
b57416d12805
.Image
IMAGE
nextgenhealthcare/connect
postgres
.Command
COMMAND
"/entrypoint.sh ./mc…"
"docker-entrypoint.s…"
.CreatedAt
CREATED AT
2021-11-30 13:51:24 +0900 KST
2021-11-30 13:51:23 +0900 KST
.RunningFor
CREATED
59 minutes ago
59 minutes ago
.Ports
PORTS
0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp
5432/tcp
.State
STATE
running
running
.Status
STATUS
Up About an hour
Up About an hour
.Size
SIZE
0B
0B
.Names
NAMES
hl7-connect_mc_1
hl7-connect_db_1
.Labels
LABELS
com.docker.compose.version=1.29.2,com.docker.compose.config-hash=53e742ed62bef910a6e42620df5ec5f21d1497cf0838ce7753940901f4991666,com.docker.compose.container-number=1,com.docker.compose.oneoff=False,com.docker.compose.project=hl7-connect,com.docker.compose.project.config_files=docker-compose.yml,com.docker.compose.project.working_dir=/home/hsyang/hl7-connect,com.docker.compose.service=mc
com.docker.compose.container-number=1,com.docker.compose.oneoff=False,com.docker.compose.project=hl7-connect,com.docker.compose.project.config_files=docker-compose.yml,com.docker.compose.project.working_dir=/home/hsyang/hl7-connect,com.docker.compose.service=db,com.docker.compose.version=1.29.2,com.docker.compose.config-hash=b6096adc2af7ffac8ca18fc7effe3329664f30ddfa5244ec4134afec1ef58c6e
.Label
-
~/.docker/config.json
{ "psFormat": "table {{.Label \"com.docker.compose.project.working_dir\"}}" }
working dir
/home/hsyang/hl7-connect
/home/hsyang/hl7-connect
.Mounts
MOUNTS
hl7-connect_db…,406e8d713670e9…
edfb9d8aa80ea0…,d740b1ce45a8c0…
.Networks
NETWORKS
hl7-connect_default
hl7-connect_default
Previous post
[명령어] git branchNext post
[명령어] xxd (파일 hex/binary view)