在容器化技术中,Docker 是最受欢迎的工具之一。容器为开发者提供了一个轻量级、可移植、自给自足的环境,使得应用能够在任何地方以相同的方式运行。而在使用 Docker 进行容器管理时,查看容器详情是一项基础且频繁的操作。今天,就让我们来揭秘五大实用的命令,帮助您轻松掌握如何快速查看容器详情。
1. docker ps
docker ps 命令是查看运行中的容器的基本命令。它提供了容器ID、名称、状态、镜像、创建时间、端口映射和资源使用情况等信息。
示例
docker ps
输出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3d1a1f0e1f0 nginx "nginx -g 'daemon off;" 3 hours ago Up 3 hours 0.0.0.0:80->80/tcp mynginx
2. docker inspect
docker inspect 命令提供了比 docker ps 更详细的信息。它可以输出容器的配置信息,如网络设置、卷绑定、环境变量等。
示例
docker inspect mynginx
输出示例:
[
{
"Id": "a3d1a1f0e1f0",
"Created": "2023-10-12T14:10:57.710322646Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"StartedAt": "2023-10-12T14:11:01.33664968Z",
"FinishedAt": null
},
"Health": {
"Status": "starting",
"Icon": "/var/run/docker.sock",
"Log": []
},
"NetworkSettings": {
"Bridge": "bridge0",
"SandboxID": "6e5f5f8b4c7b4e5e8f7b4e5e8f7b4e5e8f7b4e5e",
"PortMappings": [
{
"HostIP": "0.0.0.0",
"HostPort": "80",
"ContainerPort": "80"
}
],
"Data": {}
},
"Image": "nginx",
"ResolvConfPath": "/var/run/docker/resolve.conf",
"HostsPath": "/var/run/docker/hosts",
"Mounts": [
{
"Name": "a3d1a1f0e1f0d3a1b2c2",
"Source": "/var/lib/docker/aufs/mnt/a3d1a1f0e1f0d3a1b2c2",
"Destination": "/var/run/docker/aufs/mnt/a3d1a1f0e1f0d3a1b2c2",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "a3d1a1f0e1f0",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"NetworkDisabled": false,
"MacAddress": ""
},
"SecurityOpt": null,
"PublishConfig": {
" Ports": [
{
"Protocol": "tcp",
"HostPort": "80"
}
]
},
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null
}
}
}
]
3. docker stats
docker stats 命令用于查看容器的实时资源使用情况,如CPU、内存、网络IO和存储IO等。
示例
docker stats mynginx
输出示例:
CONTAINER ID NAME CPU % MEM USAGE/LIMIT MEM % NET I/O BLOCK I/O PIDS
a3d1a1f0e1f0 mynginx 0.01% 5.034MiB / 1.942GiB 0.2% 5.035MB / 0B 0B / 0B 1
4. docker top
docker top 命令用于查看容器的进程信息。它类似于Linux的 top 命令,可以实时监控容器的进程资源使用情况。
示例
docker top mynginx
输出示例:
UID PID PPID C STIME TTY TIME CMD
root 8767 8766 0 15:24 ? 0:00.00 nginx: master process /usr/local/bin/nginx -g 'daemon off;'
5. docker history
docker history 命令用于查看镜像的构建历史。它可以帮助你了解镜像是如何一步步构建出来的。
示例
docker history nginx
输出示例:
IMAGE CREATED CREATED BY SIZE COMMENT
nginx:latest 3 months ago /bin/sh -c #(nop) ADD b8f5bc510d7c "/nginx" 55B Add nginx
nginx:latest 3 months ago /bin/sh -c #(nop) CMD ["nginx", "-g", "de…"] 0B Setup config files
nginx:latest 3 months ago /bin/sh -c #(nop) EXPOSE 80 0B Expose port 80
nginx:latest 3 months ago /bin/sh -c #(nop) Label org.label-schema.vul… 0B Label
nginx:latest 3 months ago /bin/sh -c #(nop) MAINTAINER nginx 0B Label
nginx 3 years ago /bin/sh -c #(nop) URL https://github.com/nginx… 1.2GB Import nginx
通过以上五大命令,您就可以轻松地查看容器详情了。这些命令在容器管理过程中非常重要,希望您能够熟练掌握它们。
