如何按应用程序列出docker容器?例如,假设我部署了app1 (具有c1、c2、c3)和app2 (具有c4、c5)。使用docker仪表板,我可以看到c1、c2和c3在app1下,c4和c5在app2下。但是,如果我执行"docker ps",它会返回一个简单的容器列表,我无法知道哪些容器属于哪个应用程序?下面是一个例子。
如左侧docker仪表板所示,在docker环境中部署了nginx-gohttp-master和demo两个应用程序。第一个应用程序有两个容器,第二个应用程序有四个容器,这两个应用程序彼此独立。但是,我只在右侧看到了"docker ps“列出的容器的平面列表。我想知道部署了多少个应用程序,哪些容器属于哪个应用程序。我如何使用docker命令行工具来做到这一点?
谢谢
发布于 2021-04-15 03:08:30
默认情况下,docker-compose
会添加一些labels,包括包含compose应用程序/项目名称的com.docker.compose.project
。您可以使用带有--format
option的docker ps
获得该输出,如下所示:
$ docker ps --format 'table {{.Label "com.docker.compose.project"}} {{.ID}} {{.Names}} {{.Command}} {{.Status}}'
project CONTAINER ID NAMES COMMAND STATUS
app1 1fd93328e69b app1_nginx_1 "/docker-entrypoint.…" Up 3 minutes
app2 9fe81391b961 app2_nginx_1 "/docker-entrypoint.…" Up 2 minutes
app3 d28fca61a184 app3_nginx_1 "/docker-entrypoint.…" Up 1 minutes
您可以看到docker-compose
应用here的其他一些标签。
https://stackoverflow.com/questions/67095441
复制相似问题