Docker:镜像常用命令
pull命令
- 下载镜像的命令。镜像从远程镜像仓库服务的仓库中下载。默认情况下,镜像会从 Docker Hub 的仓库中拉取。
通过下载过程,可以看到,一个镜像一般是由多个层组成,类似 f7e2b70d04ae 这样的串表示层的唯一 ID。
https://hub.docker.com/_/tomcat
docker pull tomcat:9.0.20-jre8
slim是对其压缩的镜像,所以大小比较小
docker pull tomcat:9.0.20-jre8-slim
alpline是因为基础镜像是alpine镜像制作的tomcat镜像
docker pull tomcat:9.0.20-jre8-alpine
常用参数
- -a, —all-tags=true|false : 是否获取仓库中所有镜像,默认为否;
- –disable-content-trust : 跳过镜像内容的校验,默认为 true;
images命令
通过使用如下两个命令,列出本机已有的镜像:
docker images
docker image ls
各个选项说明:
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
save命令
将docker中的镜像保存为文件
一个镜像
mkdir -p /data
cd /data
docker save tomcat:9.0.20-jre8-alpine -o tomcat9.tar
docker save tomcat:9.0.20-jre8-slim > tomcat9.slim.tar
常用参数
-o :输出到的文件
多个镜像
推荐开发岗的小伙伴使用idea开发工具中的列编辑模式制作docker save命令mkdir -p /data
cd /datadocker save \
ubuntu:20.04 \
alpine:3.12.1 \
debian:10.6-slim \
centos:7.8.2003 \
-o linux.tardocker save \
tomcat:9.0.20-jre8-alpine \
tomcat:9.0.20-jre8-slim \
tomcat:9.0.20-jre8 \
-o tomcat9.0.20.tar
load命令
将保存为文件的镜像重新加载到docker中
mkdir -p /data
cd /data
docker load -i linux.tar
docker load < tomcat9.0.20.tar
常用参数
- –input , -i : 指定导入的文件。
- –quiet , -q : 精简输出信息。
search命令
不推荐使用search命令查找镜像,不够直观。
docker search tomcat
常用参数
- -f, —filter filter : 过滤输出的内容;
- –limit int :指定搜索内容展示个数;
- –no-index : 不截断输出内容;
- –no-trunc :不截断输出内容;
inspect命令
- 通过 docker inspect 命令,我们可以获取镜像的详细信息,其中,包括创建者,各层的数字摘要等。
docker inspect返回的是 JSON格式的信息,如果您想获取其中指定的一项内容,可以通过 -f 来指定,如获取镜像大小
docker inspect tomcat:9.0.20-jre8-alpine
因为信息太多,用-f获取自己想要的信息
docker inspect -f {
{
".Size"}} tomcat:9.0.20-jre8-alpine
history命令
- 从前面的命令中,我们了解到,一个镜像是由多个层组成的,那么,我们要如何知道各个层的具体内容呢?
通过 docker history命令,可以列出各个层的创建信息,例如:查看 tomcat:9.0.20-jre8-alpine的各层信息
docker history tomcat:9.0.20-jre8-alpine
tag命令
修改镜像的名称和版本
# 修改镜像的名称和版本
docker tag tomcat:9.0.20-jre8-alpine lagou/tomcat:9
rmi命令
通过如下两个都可以删除镜像:
# 注意:可能无法删除该镜像,因为有容器正在引用他
docker rmi tomcat:9.0.20-jre8-alpine
docker image rm tomcat:9.0.20-jre8-alpine
常用参数
- -f, -force : 强制删除镜像,即便有容器引用该镜像;
-no-prune : 不要删除未带标签的父镜像;
通过ID删除镜像
除了通过标签名称来删除镜像,我们还可以通过制定镜像 ID, 来删除镜像。一旦制定了通过 ID 来删除镜像,它会先尝试删除所有指向该镜像的标签,然后在删除镜像本身。注意:可能存在相同的id
docker rmi ee7cbd482336
删除镜像,正确的做法应该是:
- 先删除引用这个镜像的容器;
- 再删除这个镜像;
清理镜像
我们在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过以下命令进行清理。执行完命令后,还是告诉我们释放了多少存储空间!
docker image prune
常用参数
- -a, —all : 删除所有没有用的镜像,而不仅仅是临时文件;
- -f, —force :强制删除镜像文件,无需弹出提示确认;
还没有评论,来说两句吧...