运维笔记 -- 如何查看运行中的容器,当初的启动命令

也参考这篇:https://www.cnblogs.com/hellojesson/p/16903559.html

场景描述:

     容器运行一段时间后,如果出现问题,假如记录了相关容器最初运行的docker run命令,对于排查问题可能有所帮助!

但是,如果时间长了,没有记录下,该怎么办?

例如:要找本地容器odoo13当初是怎么启动的:

docker run -d -p 8069:8069 -name odoo13 --link db:db -t odoo:13

找了一下,docker好像没有自带这样的查询命令,不过可以通过以下几种方式查看!

如何查看:

方式1. 查看系统操作历史命令:

---适用于,该服务器上,平时执行的命令比较少,之前的历史命令才不会被冲掉
history | grep 'docker run'

方式2. 利用docker inspect container命令查看 部分启动信息 

--- docker inspect 你的容器名
docker inspect odoo13

 方式3. get_run_command方式(推荐使用)

1.容器所在服务器拉取镜像:
docker pull cucker/get_command_4_run_container:latest
2.配置环境变量,设置别名,启动生效
echo "alias get_run_command='docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container'" >> ~/.bashrc
---执行如下命令,让上边环境变量配置生效,使用"." 执行当前用户下的.bashrc文件, "."和"~/.bashrc"之间有空格
. ~/.bashrc 
3.终端执行:get_run_command 容器名-或-容器id 输出该容器在最开始启动时,docker run的历史命令。
例如:查看到某个数据库容器启动命令
get_run_command  postgres_db
docker run -d \
 --name postgres_db \
 --env POSTGRES_PASSWORD=postgres \
 --env POSTGRES_DB=postgres \
 --env POSTGRES_USER=postgres \
 --ipc shareable \
 -p 5****:5432/tcp \
 -v /home/test/docker_pg_data/postgres_db/data:/var/lib/postgresql/data \
 postgres:11.4

 

posted @ 2020-06-03 15:43  hello-Jesson  阅读(4644)  评论(0编辑  收藏  举报