一、帮助命令
显示 docker 的版本信息
docker version
显示 docker 的系统信息,包括镜像 和 容器的数量、、、
docker info
查看命令的帮助信息
docker 命令 --help
查看 docker 命令的帮助信息
docker --help
二、与镜像有关的命令
1. docker image
docker images [参数]
:列出本地所有的镜像
-a
:列出本地所有的镜像【经过测试,默认不带参数时,也会列出本地所有的镜像】-q
:只显示镜像 ID--digests
:显示镜像的摘要信息--no-trunc
:显示完整的镜像信息【完整的镜像 ID】imageName
:根据镜像的名称进行模糊搜索
docker images -a
## REPOSITORY 镜像仓库源
## TAG 镜像的标签
## DIGEST 镜像的摘要
## IMAGE ID 镜像 ID
## CREATED 创建时间
## SIZE 大小
2. docker search
docker search [参数] REPOSITORY
:从 Docker Hub 上查找满足条件的镜像
--filter STARS=300
:从 Docker Hub 上查找关注度大于 300 的镜像
docker search mysql --filter STARS=300
## NAME 名称
## DESCRIPTION 描述
## STARS 点赞,关注度,类似GitHub
## OFFICIAL 是否官方
## AUTOMATED 是否自动构建
3. docker pull
docker pull REPOSITORY:[TAG]
:从仓库拉取指定的镜像到本地
TAG
:镜像标志,代表了镜像的版本信息,可以在 Explore Docker’s Container Image Repository | Docker Hub 查找指定的版本下载
# 拉取 tomcat 镜像到本地,没有写 tag,则默认就是 latest,表示拉取最新版本的 tomcat 镜像
docker pull tomcat
# 指明拉取 latest(最新版本)的 tomcat 镜像到本地
docker pull tomcat:latest
4. docker tag
docker tag REPOSITORY:[TAG] newREPOSITORY:[newTag]
:修改镜像的 TAG 信息
docker pull hello-world
docker tag hello-world hello-world:v1
docker tag hello-world hello-world:v2
docker tag hello-world hello-world:v3
现在镜像仓库里面有如下镜像,四个镜像的 ID 是相同的,仅仅是 TAG 的内容不同,可以看出镜像打标签,本质就是引用的问题
5. docker rmi
docker rmi [参数] IMAGE ID
:根据镜像 ID 删除本地的镜像
docker rmi [参数] REPOSITORY:[tag]
:解除镜像源对本地镜像的引用
-f
:强制删除
# 删除本地的单个镜像源
docker rmi eb5d9fea6a5
# 强制删除本地的单个镜像源
docker rmi -f eb5d9fea6a5
# 同时删除多个镜像,不同镜像之间以空格间隔
docker rmi -f eb5d9fea6a1 eb5d9fea6a2 eb5d9fea6a3
# 删除本地全部镜像
docker rmi -f $(docker images -q)
# 解除一个对本地镜像的引用
docker rmi hello-world:v1
# 强制解除一个对本地镜像的引用
docker rmi -f hello-world:v1
# 强制同时解除多个对本地镜像的引用
docker rmi -f hello-world:v1 hello-world:v2 hello-world:v3
6. docker save
docker save iamgeID|REPOSITORY:[tag] > xxx.tar
:导出镜像
docker save -o xxx.tar iamgeID|REPOSITORY:[tag] iamgeID|REPOSITORY:[tag] ...
# 导出镜像
# - 方便镜像转移和保存
# - 可以在任何一台安装了 docker 的主机加载这个镜像
docker save f9c173b0f012 feb5d9fea6a5 > image.tar
docker save iamge1 iamge2 > iamge.tar
docker save -o image.tar image1 image2
docker save -o image.tar f9c173b0f012 feb5d9fea6a5
7. docker load
docker load < xxx.tar
:导入镜像,导入的镜像没有镜像名、tag等信息
# 导入镜像
# - 任何装 docker 的地方加载镜像文件,使其恢复为一个镜像
docker load < jdkImage.tar
docker load < helloImage.tar
三、与容器有关的命令
1. 新建容器
docker run -it centos /bin/bash
docker run -it redis /bin/bash
# 参数说明
## --name="Name" 容器名称
## -d 后台方式运行
## -it 使用交互方式运行,进入容器查看内容
## -p ip:主机端口:容器端口
## -p 主机端口:容器端口 (常用的)
2. 退出容器
# 退出并停止容器
exit
3. 查看容器
docker ps
docker ps -a
docker ps -aq
docker ps -n 5
# 参数说明
## 空 列出所有运行的容器
## -a 列出所有的容器,包括未运行的
## -q 只列出容器编号
## -n 列出最近创建的 n 个容器
4. 删除容器
# 删除一个容器
docker rm 容器ID
# 强制删除一个容器
docker rm -f 容器ID
# 删除所有容器
docker rm -f $(docker ps -aq)
5. 启动和停止容器
# 启动容器
docker start 容器 id
# 重启容器
docker restart 容器id
# 停止容器,会通知容器里面的进程进行关闭
docker stop 容器id
# 直接停止容器,不同通知容器里面的进程进行关闭
docker kill 容器id
四、其他命令
1. 后台启动容器
docker run -d 镜像ID|镜像源
2. 查看容器里面的进程信息
docker top 容器ID
3. 进入正在后台运行的容器
docker exec -it 容器ID /bin/bash