a) Docker ps 命令
docker ps : 列出容器
docker ps [OPTIONS]
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
l 实例
列出所有在运行的容器信息。
列出最近创建的5个容器信息。
列出所有创建的容器ID。
b) Docker inspect 命令
docker inspect : 获取容器/镜像的元数据。
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。
l 实例
获取镜像mysql:5.6的元信息。
获取正在运行的容器mymysql的 IP。
c) Docker network
Docker network:对docker网络的操作
docker network COMMAND
1) docker network ls 命令
列出docker中的网络
docker network ls [OPTIONS]
l 实例
2) docker network inspect 命令
查询docker中网络的具体信息
docker network inspect [OPTIONS] NETWORK [NETWORK...]
l 实例
3) docker network create 命令
docker create:创建一个docker网络
docker network create [OPTIONS] NETWORK
--attachable Enable manual container attachment
--aux-address map Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
-d, --driver string Driver to manage the Network (default "bridge")
--gateway stringSlice IPv4 or IPv6 Gateway for the master subnet
--help Print usage
--internal Restrict external access to the network
--ip-range stringSlice Allocate container ip from a sub-range
--ipam-driver string IP Address Management Driver (default "default")
--ipam-opt map Set IPAM driver specific options (default map[])
--ipv6 Enable IPv6 networking
--label list Set metadata on a network (default [])
-o, --opt map Set driver specific options (default map[])
--subnet stringSlice Subnet in CIDR format that represents a network segment
l 实例
docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2
4) docker network connect 命令
连接一个容器到网络
docker network connect [OPTIONS] NETWORK CONTAINER
--alias stringSlice Add network-scoped alias for the container
--help Print usage
--ip string IP Address
--ip6 string IPv6 Address
--link list Add link to another container (default [])
--link-local-ip stringSlice Add a link-local address for the container
5) docker network disconnect 命令
将容器断开指定的网络
docker network disconnect [OPTIONS] NETWORK CONTAINER
-f, --force Force the container to disconnect from a network
--help Print usage
6) docker network prune 命令
删除全部的未使用的网络
docker network prune [OPTIONS]
-f, --force Do not prompt for confirmation
--help Print usage
7) docker network rm 命令
删除一个或多个网络
docker network rm NETWORK [NETWORK...]
--help Print usage
d) Docker volume
管理卷
1) Docker volume ls 命令
列出系统中使用docker managed volume
docker volume ls [OPTIONS]
-f, --filter filter Provide filter values (e.g. 'dangling=true')
--format string Pretty-print volumes using a Go template
--help Print usage
-q, --quiet Only display volume names
l 实例
2) docker volume inspect 命令
显示卷的详细信息
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
-f, --format string Format the output using the given Go template
--help Print usage
l 实例
3) Docker volume create 命令
创建docker managed volume
docker volume create [OPTIONS] [VOLUME]
-d, --driver string Specify volume driver name (default "local")
--help Print usage
--label list Set metadata for a volume (default [])
-o, --opt map Set driver specific options (default map[])
l 实例
4) Docker volume prune 命令
删除未使用的docker managed volume
docker volume prune [OPTIONS]
-f, --force Do not prompt for confirmation
--help Print usage
l 实例
5) Docker volume rm 命令
删除一个或多个docker managed volume
docker volume rm [OPTIONS] VOLUME [VOLUME...]
-f, --force Force the removal of one or more volumes
--help Print usage
l 实例
e) Docker top 命令
docker top :查看容器中运行的进程信息,支持 ps 命令参数。
docker top [OPTIONS] CONTAINER [ps OPTIONS]
容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。
l 实例
查看容器mymysql的进程信息。
查看所有运行容器的进程信息。
f) Docker attach 命令
docker attach :连接到正在运行中的容器
docker attach [OPTIONS] CONTAINER
要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。
官方文档中说attach后可以通过CTRL-C来detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上--sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。
l 实例
容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。
g) Docker events 命令
docker events : 从服务器获取实时事件
docker events [OPTIONS]
-f :根据条件过滤事件;
--since :从指定的时间戳后显示所有事件;
--until :流水时间显示到指定的时间为止;
l 实例
显示docker 2016年7月1日后的所有事件。
显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件。
h) Docker logs 命令
docker logs : 获取容器的日志
docker logs [OPTIONS] CONTAINER
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志
l 实例
跟踪查看容器mynginx的日志输出。
查看容器mynginx从2016年7月1日后的最新10条日志
i) Docker wait 命令
docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。
docker wait [OPTIONS] CONTAINER [CONTAINER...]
l 实例
j) Docker export 命令
docker export :将文件系统作为一个tar归档文件导出到STDOUT。
docker export [OPTIONS] CONTAINER
-o :将输入内容写到文件。
l 实例
将id为a404c6c174a2的容器按日期保存为tar文件。
k) Docker port 命令
docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
l 实例
查看容器mynginx的端口映射情况。