首页 > 其他分享 >【docker】根据docker inspect获取启动参数

【docker】根据docker inspect获取启动参数

时间:2023-12-12 17:55:06浏览次数:27  
标签:container inspect echo 参数 file output docker

背景

服务器里起了好些服务,但启动脚本已经丢失了,怎样通过运行中的容器反推启动脚本呢?
启动脚本:环境变量,端口映射什么的

通过 docker inspect

通过 docker inspect 可以拿到一些信息,但信息确实很多,并且几十个服务,总不能一个一个去查,怎么办,
当然是写脚本,
但写脚本之前,先找一下,通过一个容器的 docker inspect 信息,怎样快速把 env 信息捞出来呢?

一个 docker inspect 的示例:

[
    {
       ...
        "State": {
            "Status": "running",
        ...
        "Config": {
            ...
            "StdinOnce": false,
            "Env": [
                "spring.cloud.inetutils.preferred-networks=10.1.12.14",
            ],
           ...
    }
]

获取 env 参数

docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" "$container" >> "$output_file"

获取容器端口映射

docker port "$container"

融合到一个脚本里面

#!/bin/bash

# 定义存储结果的文件路径
output_file="/tmp/docker.txt"

# 清空文件内容
> "$output_file"

# 遍历容器列表
containers=$(docker ps --format "{{.Names}}")
for container in $containers; do
  echo "Container: $container" >> "$output_file"
  
  # 获取容器的启动参数
  echo "  Start Command:" >> "$output_file"
  docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" "$container" >> "$output_file"
 
  # 取容器的端口映射信息
  echo "  Port Mapping:" >> "$output_file"
  docker port "$container" >> "$output_file"

  echo "" >> "$output_file"
done

echo "输出完成,请查看 $output_file 文件。"

标签:container,inspect,echo,参数,file,output,docker
From: https://www.cnblogs.com/aaacarrot/p/17897483.html

相关文章

  • PMM 基于 Docker 部署
    1、Docker、Docker-Compose安装https://www.cnblogs.com/a120608yby/p/9883175.htmlhttps://www.cnblogs.com/a120608yby/p/14582853.html2、基于Docker-Compose部署PMM#vimdocker-compose.ymlversion:'3'services:pmm-server:image:percona/pmm-ser......
  • Linux系统安装docker源失败
    错误描述yum添加完docker源的地址,执行yummakecache后返回如下的问题yummakecachefailure:repodata/repomd.xmlfromdocker-ce-stable:[Errno256]Nomoremirrorstotry. https://download.docker.com/linux/centos/$releasever/x86_64/stable/repodata/repomd.xml:[Err......
  • 在 RHEL 上安装 Docker 引擎
    参考 在RHEL上安装Docker引擎(s390x)|Docker文档1、在尝试安装新版本之前卸载任何此类旧版本,以及相关的依赖项。同时卸载和关联的依赖项(如果已安装):dockerdocker-enginePodmansudoyumremovedocker\docker-client\docker-clie......
  • Docker部署Nginx Proxy Manager
    更新环境aptupdate-y&&aptinstall-ycurlsocatwgetsudoBBRPLUS四合一脚本wget-N--no-check-certificate"https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"&&chmod+xtcp.sh&&./tcp.sh安装Dockerc......
  • docker 安装
    1.防御性操作——卸载。其实我的os是Ubuntu2004,应该是不会有的,但是我还是执行了一下:apt-getremovedockerdocker-enginedocker.iocontainerdrunc2.惯例,执行aptupdate:3.安装docker依赖,docker在Ubuntu上有一些依赖的软件包,一个命令搞定:apt-getinstallca-certifica......
  • CentOS7.6安装docker一把成
    新建虚拟机或云主机,连通网络后刷此脚本安装docker#卸载旧docker安装新dockeryumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engineyuminstall-yyum-utilsdevice-mapper-persiste......
  • centos7 docker-ce
    言Docker使用越来越多,安装也很简单,本次记录一下基本的步骤。Docker目前支持CentOS7及以后的版本,内核要求至少为3.10。Docker官网有安装步骤,本文只是记录一下,您也可以参考DockerCEInstallonCentOS环境说明CentOS7(MinimalInstall)$cat/etc/redhat-releaseCentOSLinu......
  • 【转载】Springboot2.x接收参数的多种方式
    参考https://blog.csdn.net/suki_rong/article/details/80445880https://zhuanlan.zhihu.com/p/34597391https://juejin.cn/post/6922469125033820168环境环境版本操作windows10JDK11Springboot2.3.12.RELEASE正文packagecom.example.demo.co......
  • VueRouter中存储路由的参数是什么?
    一、VueRouter的基本介绍什么是VueRouter是一个Vue.js官方的路由管理器,它可以帮助我们在Vue.js应用中实现页面之间的导航和跳转。它提供了一系列的API和配置选项,使得我们可以更加灵活地管理和控制应用的路由。在VueRouter中,存储路由的参数主要是通过路由对象来实现的。每当我们进行......
  • Docker部署yt-dlp
    一、简介一个简单的网站视频下载工具二、安装yt-dlp绿联DX4600为例,首先我们打开Docker管理器,进入镜像管理,然后在镜像仓库中搜索marcobaobao/yt-dlp-webui​,选择latest​版本并下载。​​下载完成后,我们在本地镜像中找到刚刚下载的镜像,点击创建容器,起一个英文名,勾选创......