This issue is to aggregate all the requests for enhancements to ps
.
We need to find a way to support all of this without making the default unnecessarily verbose. I think we should be keeping the default fairly close to what we have now.
One option is to add a bunch of flags to include new columns.
Hello,
Thanks to gather the PRs and issues around PS.
I think the default should be as it is, but give an oportunity the user to customize the columns would be great. E.g.: docker ps:
dockermaster_etcd_1 /etcd Up 0.0.0.0:2379->2379/tcp, 2380/tcp, 4001/tcp, 7001/tcp
dockermaster_etcd_2 /etcd Up 0.0.0.0:2380->2379/tcp, 2380/tcp, 4001/tcp, 7001/tcp
docker ps --columns name
dockermaster_etcd_1
dockermaster_etcd_2
And docker ps --help should show the available columns. And ps shouldn't rely on tty at all IMHO, cause for example when user process the output from script there's no such a thing like tty.
The "machine readable output, as json" would be also great. With --json should drop the ps output like a simple json array as you suggested the original PR.
I wanted to bring up another notice. Currently ps
returns container name as a first column
# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------
fusion114_cli_1 /opt/startup.sh /bin/sh -c ... Exit 137
fusion114_db_1 /entrypoint.sh mysqld Exit 128
fusion114_web_1 /opt/startup.sh apache2 -D ... Exit 0
However that value is useless for any other docker-compose command as docker-compose can not work with container names but only works with services.
# docker-compose ps fusion114_cli_1
No such service: fusion114_cli_1
# docker-compose ps cli
Name Command State Ports
-------------------------------------------------------------------
fusion114_cli_1 /opt/startup.sh /bin/sh -c ... Exit 137
It makes sense to drop Name column and introduce Service Name or Service column instead.
# docker-compose ps
Service Command State Ports
-------------------------------------------------------------------
cli /opt/startup.sh /bin/sh -c ... Exit 137
db /entrypoint.sh mysqld Exit 128
web /opt/startup.sh apache2 -D ... Exit 0
especially a docker-compose --columns "name, state"
will be very intresting for me. I'm running some containers that have a lot of ports (hardware/mailserver for example) and I just want to check if everything is up but it's hard to follow the lines when some containers have more than one line..
Feature parity, and output format parity, across docker ps
and docker-compose ps
would be very nice.
E.g.:
docker ps
supports filtering (with the -f
/-filter
option), while docker-compose ps
does notdocker ps
supports formatting (with the --format
option), while docker-compose ps
does notdocker-ps
just returns one line with column names and then the info, while docker-compose ps
includes a horizontal line in the output@achekulaev Only if you want to docker cp
you'll need the container name.
Most helpful comment
Feature parity, and output format parity, across
docker ps
anddocker-compose ps
would be very nice.E.g.:
docker ps
supports filtering (with the-f
/-filter
option), whiledocker-compose ps
does notdocker ps
supports formatting (with the--format
option), whiledocker-compose ps
does notdocker-ps
just returns one line with column names and then the info, whiledocker-compose ps
includes a horizontal line in the output