-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Closed
Labels
Description
Description
The docker compose ps output is since version 2.21.0 filled with what looks like whitespace for every container entry, leading to very lengthy and hard to read output.
It seems that the padding used between each entry of the table is equal to the value of the longest entry from the whole list, as seen below:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
tmp-container1-1 busybox:latest "tail -f /dev/null" container1 3 seconds ago Up 2 seconds
tmp-container2-1 busybox:latest "tail -f /dev/null" container2 3 seconds ago Up 2 seconds
tmp-container3-1 busybox:latest "tail -f /dev/null" container3 3 seconds ago Up 2 seconds
tmp-container4-1 busybox:latest "tail -f /dev/null" container4 3 seconds ago Up 2 seconds
tmp-oopsie-1 busybox:latest "/bin/sh -c 'echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vitae mattis tellus, eu aliquam purus. Sed ac lacus quis ex ultricies auctor. In convallis at purus eu aliquet. Mauris venenatis gravida blandit. Maecenas eu massa libero. Fusce et pellentesque mauris, ac mattis nisl. Quisque quis molestie nibh. Suspendisse nec nibh et erat aliquam placerat. Cras ullamcorper dolor tincidunt interdum venenatis. Nulla sit amet consequat orci. Quisque magna ipsum, vestibulum sit amet vulputate a, euismod eget elit. Praesent ornare porttitor tortor non tempor. Donec cursus tristique elementum. Duis commodo libero gravida, finibus tellus vitae, ultricies ante. Proin sed lacus magna. Praesent rhoncus ante at purus scelerisque sollicitudin. Donec ullamcorper, ex ut malesuada volutpat, ex quam tempus nulla, vitae commodo mi diam ac nisl. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed fermentum sem at molestie commodo. Aliquam consequat neque sit amet commodo efficitur. Maecenas iaculis urna id aliquam pharetra. Fusce hendrerit arcu at lacus mollis, vitae interdum orci lobortis. Pellentesque posuere mattis euismod. Sed molestie feugiat nulla, a consectetur nisi ultricies in. Praesent a lacus at tortor pulvinar sodales. Nulla facilisi. Phasellus tristique ut erat et tincidunt. Suspendisse sed interdum massa. Donec auctor, risus ut sollicitudin sagittis, est lorem aliquam nulla, sed lacinia mi leo sit amet dui. Pellentesque iaculis quam vitae turpis mattis ultrices. Ut auctor purus nec dolor malesuada, vitae elementum nulla mollis. Donec sagittis dapibus lacus, quis gravida magna dapibus et. Fusce sit amet maximus purus. Cras cursus felis venenatis fringilla eleifend. Pellentesque pulvinar dui vel venenatis pretium. Phasellus lorem neque, elementum eget gravida vel, iaculis sit amet orci. Cras purus sapien, rhoncus eget erat in, sagittis maximus orci. Quisque congue leo sit amet elit blandit, a commodo purus pulvinar. Maecenas ipsum nulla, lobortis vel facilisis sodales, cursus eget massa. Morbi tortor augue, efficitur non arcu quis, dictum convallis eros. Vivamus fringilla fermentum urna. Aenean accumsan leo sed est sodales finibus. Sed lacinia, nunc at ultricies vestibulum, dui orci egestas nunc, ut suscipit leo augue sed mauris. Sed auctor non urna a tempus. Cras vel hendrerit dolor. Curabitur pellentesque purus vitae vehicula ultrices. Duis tincidunt a tellus eget pharetra. Pellentesque feugiat tempor massa vitae ultrices. Sed sollicitudin mauris consectetur, scelerisque sem in, venenatis purus.' && tail -f /dev/null'" oopsie 3 seconds ago Up 2 seconds
This behavior did not occur until version 2.21.0.
Steps To Reproduce
Using docker compose versions >= 2.21.0, run docker compose ps with the following project:
version: '3.8'
services:
oopsie:
image: busybox:latest
entrypoint: /bin/sh
command:
-c "echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vitae mattis tellus, eu aliquam purus. Sed ac lacus quis ex ultricies auctor. In convallis at purus eu aliquet. Mauris venenatis gravida blandit. Maecenas eu massa libero. Fusce et pellentesque mauris, ac mattis nisl. Quisque quis molestie nibh. Suspendisse nec nibh et erat aliquam placerat. Cras ullamcorper dolor tincidunt interdum venenatis. Nulla sit amet consequat orci.
Quisque magna ipsum, vestibulum sit amet vulputate a, euismod eget elit. Praesent ornare porttitor tortor non tempor. Donec cursus tristique elementum. Duis commodo libero gravida, finibus tellus vitae, ultricies ante. Proin sed lacus magna. Praesent rhoncus ante at purus scelerisque sollicitudin. Donec ullamcorper, ex ut malesuada volutpat, ex quam tempus nulla, vitae commodo mi diam ac nisl.
Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed fermentum sem at molestie commodo. Aliquam consequat neque sit amet commodo efficitur. Maecenas iaculis urna id aliquam pharetra. Fusce hendrerit arcu at lacus mollis, vitae interdum orci lobortis. Pellentesque posuere mattis euismod. Sed molestie feugiat nulla, a consectetur nisi ultricies in. Praesent a lacus at tortor pulvinar sodales.
Nulla facilisi. Phasellus tristique ut erat et tincidunt. Suspendisse sed interdum massa. Donec auctor, risus ut sollicitudin sagittis, est lorem aliquam nulla, sed lacinia mi leo sit amet dui. Pellentesque iaculis quam vitae turpis mattis ultrices. Ut auctor purus nec dolor malesuada, vitae elementum nulla mollis. Donec sagittis dapibus lacus, quis gravida magna dapibus et. Fusce sit amet maximus purus. Cras cursus felis venenatis fringilla eleifend.
Pellentesque pulvinar dui vel venenatis pretium. Phasellus lorem neque, elementum eget gravida vel, iaculis sit amet orci. Cras purus sapien, rhoncus eget erat in, sagittis maximus orci. Quisque congue leo sit amet elit blandit, a commodo purus pulvinar. Maecenas ipsum nulla, lobortis vel facilisis sodales, cursus eget massa. Morbi tortor augue, efficitur non arcu quis, dictum convallis eros. Vivamus fringilla fermentum urna. Aenean accumsan leo sed est sodales finibus. Sed lacinia, nunc at ultricies vestibulum, dui orci egestas nunc, ut suscipit leo augue sed mauris. Sed auctor non urna a tempus. Cras vel hendrerit dolor. Curabitur pellentesque purus vitae vehicula ultrices. Duis tincidunt a tellus eget pharetra. Pellentesque feugiat tempor massa vitae ultrices. Sed sollicitudin mauris consectetur, scelerisque sem in, venenatis purus.' && tail -f /dev/null"
container1:
image: busybox:latest
command: tail -f /dev/null
container2:
image: busybox:latest
command: tail -f /dev/null
container3:
image: busybox:latest
command: tail -f /dev/null
container4:
image: busybox:latest
command: tail -f /dev/null
Run
docker compose up -d
docker compose ps
Observe the following broken output:

Compose Version
Docker Compose version v2.22.0
Docker Environment
Client:
Version: 24.0.5
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: 0.11.2
Path: /usr/lib/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.22.0
Path: /home/xxx/.docker/cli-plugins/docker-compose
Server:
Containers: 925
Running: 8
Paused: 0
Stopped: 917
Images: 459
Server Version: 24.0.5
Storage Driver: overlay2
Backing Filesystem: btrfs
Supports d_type: true
Using metacopy: true
Native Overlay Diff: false
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 091922f03c2762540fd057fba91260237ff86acb.m
runc version:
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: builtin
cgroupns
Kernel Version: xxx
Operating System: Manjaro Linux
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 31.01GiB
Name: xxx
ID: xxx
Docker Root Dir: /var/lib/docker
Debug Mode: false
Username: xxx
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Anything else?
No response
Reactions are currently unavailable