运维笔记 -- 如何查看运行中的容器,当初的启动命令
也参考这篇: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