Skip to content

[BUG] ps command output filled with whitespace since 2.21.0 #11037

@nocive

Description

@nocive

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:
Screenshot from 2023-09-22 11-58-18

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions