docker --format 参数提供了基于 Go模板格式化输出辅助功能,并提供了一些内置的增强函数。大致用法如下,具体可以百度或者看官方文档,借助该功能,实现根据挂载目录快速查找对应容器id。
-
实现命令及说明
docker inspect --format="{
{range .Mounts}}{
{if eq \"/server/docker-apps/typecho\" .Source}}{
{$.Id}}{
{end}}{
{end}}" $(docker ps -q)|xargs echo -n- docker ps -q
-q, --quiet Only display container IDs
打印所有运行中容器的id,作为docker inspect的参数
可以看到现在运行着两个容器
- {
{range .Mounts}}{
{end}}
遍历Mounts
- {
{if eq “/server/docker-apps/typecho” .Source}}{
{end}}
判断Source是否等于目标目录
- {
{$.Id}}
$
单独出现为全局,打印最外层的Id,也就是容器id- xargs echo -n
删除空行
- 效果
文章评论