帮助命令
- docker version
显示docker的版本信息
- docker info
显示docker的系统信息,包括镜像和容器的数量
- docker 命令 --help
帮助命令,可查看命令的所有操作
中文文档地址https://www.runoob.com/docker/docker-command-manual.html
官方文档地址https://docs.docker.com/reference/
镜像命令
- docker images
查看所有本地主机上的镜像
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
–digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
–format :指定返回值的模板文件;
–no-trunc :显示完整的镜像信息;
-q :只显示镜像ID。
各参数含义:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
- docker search 搜索镜像
–automated :只列出 automated build类型的镜像;
–no-trunc :显示完整的镜像描述;
-f <过滤条件>:列出收藏数不小于指定值的镜像。
各参数含义:
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
- docker pull 镜像下载
-a :拉取所有 tagged 镜像
–disable-content-trust :忽略镜像的校验,默认开启
默认下载最新版本,也可以规定下载版本(前提是官网有)
docker pull 镜像:版本号
- docker rmi 删除镜像
-f :强制删除;
–no-prune :不移除该镜像的过程镜像,默认移除;
删除所有容器
docker rmi -f $(docker images -aq)
容器命令
- docker run 新建并启动容器
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“nginx-lb”: 为容器指定一个名称;
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=“ritchie”: 设置环境变量;
–env-file=[]: 从指定文件读入环境变量;
–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
–net=“bridge”: 指定容器的网络连接类型,支持bridge/host/none/container: 四种类型;
–link=[]: 添加链接到另一个容器;
–expose=[]: 开放一个端口或一组端口;
–volume , -v: 绑定一个卷
也可以绑定容器的 8080 端口,并将其映射到本地主机的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp centos bash
退出正在运行的容器
exit 容器停止退出
Ctrl + P + Q 容器不停止退出
- docker ps 列出正在运行的容器
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
–format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
–no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
各参数含义:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
- docker rm 删除容器
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-l :移除容器间的网络连接,而非容器本身。
-v :删除与容器关联的卷。
删除所有已停止的容器
docker rm $(docker ps -a -q)
- docker start 启动容器
- docker restart 重启容器
- docker stop 停止容器
- docker kill 杀死正在使用的容器
其他命令
日志
- docker logs 查看日志
-f : 跟踪日志输出
–since :显示某个开始时间的所有日志
-t : 显示时间戳
–tail :仅列出最新N条容器日志
进程信息
- docker top 查看容器进程信息
可使用ps命令参数
查看所有容器进程信息
for i in
docker ps |grep Up|awk '{print $1}'
;do echo \ &&docker top $i; done
查看元数据
- docker inspect 查看容器或镜像的元数据
-f :指定返回值的模板文件。
-s :显示总的文件大小。
–type :为指定类型返回JSON。
进入容器
- docker exec 在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
- docker attach 连接到正在运行中的容器。
千万不要用它来测在执行死循环操作的容器,官方文档说可以ctrl + c 强制退出,实则退出不了。
- 两种进入容器方法的比较
docker exec 进入一个新的终端,可以再里面进行操作 (常用)
docker attach 进入容器正在执行的终端,不会产生新的进程
拷贝文件
- docker cp 在容器和主机之间进行数据拷贝
-L :保持源目标中的链接
这里就不放图了,权限不够被禁止拷贝了。