常用筛选查询命令
1、查看容器的运行状态。
docker inspect --format='{{.State.Running}}' [NAME]/[CONTAINER ID]
2、根据列进行筛选获取某一列属性
docker ps | grep storage | awk '{print $11}'
查看容器的环境变量:
docker exec -it storage0 env
3、range迭代数据
range 用于遍历结构内返回值的所有数据。支持的类型包括 array, slice, map 和 channel。使用要点:
对应的值长度为 0 时,range 不会执行。
结构内部如要使用外部的变量,需要在前面加 引用,比如Var2。
range 也支持 else 操作。效果是:当返回值为空或长度为 0 时执行 else 内的内容。)
#range迭代 需要 end结束符
#if判断 需要 end结束符
例子: #range迭代数据{{end}}为结束符
docker inspect --format '{{range 要迭代的对象}}{{if eq "bind" 要判断的属性}}{{要输出的属性值}}{{print}}{{end}}{{end}}' 容器名或容器ID
docker inspect --format '{{range .Mounts}}{{if eq "bind" .Type}}{{.Source}}{{print}}{{end}}{{end}}' storage2
[root@dev4 dfsMergeFile]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d6c0c4a3e3fc sinoeyes.io/library/debug-server:1.0 "/bin/sh -c ./start.…" 43 minutes ago Up 43 minutes debug-server
2ce62c64fdd1 fa1edc10970c "container-entrypoin…" 4 weeks ago Up 4 weeks services-server
3e732e2563fb luhuiguo/fastdfs "/usr/bin/start.sh s…" 8 months ago Up 3 days storage2
06e1671727c9 luhuiguo/fastdfs "/usr/bin/start.sh s…" 8 months ago Up 3 days storage0
867564c71b62 luhuiguo/fastdfs "/usr/bin/start.sh t…" 8 months ago Up 2 months tracker
[root@dev4 dfsMergeFile]# docker inspect storage2
[
{
"Id": "3e732e2563fbcf036bac83c1449566132ffc8b51a4e9baf31146f8676f8b9039",
"Created": "2019-01-31T07:44:21.421918673Z",
"Path": "/usr/bin/start.sh",
"Args": [
"storage"
],
……
……
……
"Mounts": [
{
"Type": "volume",
"Name": "fd6a411ab2c376847657d504d1412a9e2a400c3c2b0ac8d2d87d604fd1f2f2a9",
"Source": "/var/lib/docker/volumes/fd6a411ab2c376847657d504d1412a9e2a400c3c2b0ac8d2d87d604fd1f2f2a9/_data",
"Destination": "/etc/fdfs",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
},
{
"Type": "bind",
"Source": "/root/data/storage2",
"Destination": "/var/fdfs",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "dev4",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"22122/tcp": {},
"23000/tcp": {},
"8080/tcp": {},
"8888/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"TRACKER_SERVER=192.168.180.9:22122",
"GROUP_NAME=group2",
"PORT=22222",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"FASTDFS_PATH=/opt/fdfs",
"FASTDFS_BASE_PATH=/var/fdfs"
],
……
……
……
}
}
}
]
[root@dev4 dfsMergeFile]#
[root@dev4 dfsMergeFile]# docker inspect --format '{{range .Mounts}}{{if eq "bind" .Type}}{{.Source}}{{print}}{{end}}{{end}}' storage2
/root/data/storage2
[root@dev4 dfsMergeFile]#
docker search tutorial#搜索可用docker镜像
docker pull learn/tutorial #下载镜像
看日志
#docker logs 你的容器
查询容器
#docker ps -a
启动容器
#docker start 容器名或容器ID
重启容器
#docker restart 容器名或容器ID
停止容器
#docker stop 容器名
删除容器
#docker rm 容器名字
删除镜像docker images
#docker rmi 容器id
进入容器
其中字符串为容器ID:
#docker exec -it d27bd3008ad9 /bin/bash
查询容器docker ps -a
1.停用全部运行中的容器:
#docker stop $(docker ps -q)
2.删除全部容器:
#docker rm $(docker ps -aq)
3.一条命令实现停用并删除容器:
#docker stop $(docker ps -q) & docker rm $(docker ps -aq)
4、删除所有镜像
docker rmi docker images -q