======================================
Docker查看容器详细信息的方法(共3种):
(1)进入容器内部获取信息;
(2)执行docker exec命令;
(3)执行docker inspect命令(推荐);
注: 后2种方法不用进入容器内部。
======================================
一、第1种:进入容器内部获取信息
(1)进入容器内部
[root@localhost webapps]# docker exec -it my_redis /bin/bash
root@ad95adf3a459:/data#
(2)分别执行 hostname、ip addr、env 这三个命令可以获取相关信息
root@ad95adf3a459:/data# hostname
root@ad95adf3a459:/data# ip addr
root@ad95adf3a459:/data# env
二、第2种:执行docker exec命令
不用进入容器,直接在docker环境执行 docker exec ...
的方式也可以获取相关信息,举例如下:
格式:
docker exec 容器名 容器内命令
分别获取 hostname、ip地址、环境变量 的命令:
[root@localhost docker]# docker exec my_tomcat hostname
[root@localhost docker]# docker exec my_tomcat ip addr
[root@localhost docker]# docker exec my_tomcat env
【示例】:
[root@localhost docker]# docker exec my_tomcat hostname
6d11ea6f0731
[root@localhost docker]#
三、第3种:使用docker inspect命令(推荐)
推荐使用docker inspect来获取容器信息,这个命令会返回一个大json字符串,可一次性取得docker全部内容,也可获取指定key的信息。
3.1 一次性取得docker全部内容,也可获取指定key的信息
格式:
docker inspect 容器名
【示例】:查看my_tomcat容器信息:
[root@localhost docker]# docker inspect my_tomcat
3.2 获取指定key的信息
格式:
docker inspect --format=’{{
.NetworkSettings.要获取的Key
}}’容器名称(容器ID)
如,查看容器my_mysql3
的IP地址:
[root@localhost test]# docker inspect --format='{{.NetworkSettings.IPAddress}}' my_mysql3
172.17.0.3
[root@localhost test]#
注: 如若想直接获取其他运行数据,可参考docker inspect 容器名称(容器ID)
命令的具体数据,直接修改docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
中{{}}
里面的对应属性项即可。