版本说明:Docker 20.10
帮助命令
docker version #查看docker版本
docker info #查看docker信息
docker --help #查看docker帮助信息
镜像命令
docker images #列出本地镜像
属性:
REPOSITORY:镜像仓库源
TAG:镜像版本标签
IMAGEID:镜像ID
CREATED:镜像创建时间
参数:
-a #列出本地所有镜像
-q #只显示镜像ID
--digests #显示镜像摘要信息
--no-trunc #显示完整的镜像信息
docker search [参数] 镜像名字 #通过docker hub查找某个镜像
参数:
--no-trunc #显示完整的镜像描述
--filter=stars=指定值 or -f STARS=指定值 #列出收藏数不小于指定值的镜像 例:docker search --filter=stars=50 php
--filter is-automated=true #只列出automated build类型(自动构建)的镜像
docker pull 镜像名字 #拉取某个镜像 docker pull 镜像名字[:TAG]
属性:
:版本号 #默认拉取lastest(最新的版本)指定版本 例:docker pull php:7.4
docker rmi 镜像ID或者镜像名 #删除镜像 使用镜像ID or 镜像名字
删除多个:docker rmi -f 镜像名1:TAG 镜像名2:TAG...
删除全部:docker rmi -f $(docker images -qa) #查询出全部的id,然后删除
参数:
-f #强制删除 例:docker rmi -f hello-world:latest
docker commit -m="提交描述信息" -a="作者" 镜像ID 要创建的目标镜像名[:标签名] #提交容器服务成为新镜像
docker build -f Dockerfile的文件路径 -t 新镜像名字:TAG . #使用Dockerfile构建镜像 (在当前目录下)-f 自定义文件,否则默认读取名字为Dockerfile的文件 -t 选项来docker build新的镜像以便于标记构建的镜像
docker history 镜像ID #查看镜像编辑历史(Dockerfile构建情况)
容器命令
docker run [参数] 镜像名 [COMMAND][ARG..] #新建并启动容器
参数:
--name="容器新名字" #为容器指定一个名称
-d #后台运行容器,并返回容器ID,即启动守护式容器
-i #以交互模式运行容器,通常与-t同时使用
-t #为容器重新分配一个伪输入终端(打开命令窗口),通常与-i同时使用
-v /宿主机绝对路径目录:/容器内目录 镜像名 #新增容器数据卷
-e 环境变量=要传递的值 #传递环境变量 例:MYSQL_ROOT_PASSWORD=123456
-P #随机端口映射(随机分配主机端口)
-p #指定端口映射,有以下四种格式
ip:hostPort:containerPort #主机端口+容器端口 对外暴露的接口相对应
ip::containerPort
hostPort:containerPort
containerPort
docker ps [参数] #列出当前所有正在运行的容器
参数:
--a #列出当前所有正在运行的容器+历史上运行过的容器
-l #显示最近创建的容器
-n #显示最近n个创建的容器 例:dockers ps -n 10
-q #静默模式,只显示容器编号
--no-trunc #不截断输出
exit 或者 ctrl+P+Q #退出容器
exit #容器停止退出
ctrl+P+Q #容器不停止退出
docker start 容器ID或者容器名 #启动容器
docker restart 容器ID或者容器名 #重启容器
docker stop 容器ID或者容器名 #停止容器
docker kill 容器ID或者容器名 #强制停止容器
docker rm 容器ID或者容器名 #删除已停止的容器
-f #强制删除未关闭的容器
docker rm -f $(docker ps -a -q) #删除全部容器
docker ps -a -q | xargs docker rm #删除全部容器
常用命令:
docker logs 容器ID #查看容器日志
参数:
--t #加入时间戳
-f #跟随最新的日志打印(自动追加显示)
--tail #显示最后有多少条(截取部分查看) 例:docker logs -tail 5 #查看最后5行
docker top 容器ID #查看容器内运行的进程
docker inspect 容器ID #查看容器内部细节
docker attach 容器ID #重新进入( ctrl+P+Q 退出容器情况下)
docker exec -it 容器ID bashShell /bin/bash #进入运行的容器并以命令行交互 例:docker exec -it 123456 ls -l /home #直接获取结果
docker cp 容器ID:容器内路径 目的主机路径 #从容器内拷贝文件到主机上 例:docker cp iek3kd32: /vur/nginx.log /pan/data
容器数据卷
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名 #新增容器数据卷
-privileged=true #给权限
docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名 #新增容器数据卷 容器内的目录只读