docker镜像仓库常用命令
- docker login
- docker logout
- docker pull
- docker push
- docker search
- docker images
- docker image inspect
- docker tag
- docker rmi
- docker image prune
- docker save
- docker load
- docker history
docker login
语法: docker login [options] [server]
功能:登录到一个存放docker镜像的仓库,如果不指定server的话,默认登录官方仓库docker Hub;
参数:
-u: 登录的用户名
-p: 密码
实战:
如果是第一次登录的话,那么它会要求你输入用户名和密码,由于这里不是第一次登录,它要求我们进行代码验证,我们照做就是:
但是由于服务器在国外,响应很慢,基本会登录超时:
为此,我们可以去腾讯云or阿里云创建一个国内的镜像仓库,这里我已经创建好了,直接演示即可:
由于博主之前登陆过,用户信息被保存在了本地,在登录的时候,自动校验通过了,就没要求我再次输入用户名和密码,因此直接登录成功,第一次登录的小伙伴可能会要求你输入用户名和密码;
docker logout
语法:docker [server]
功能:退出登录,如果没有指定server,那么默认退出docker Hub仓库的登录;如果指定,则退出指定的服务器;
实战:
docker pull
语法: docker image pull [options] NAME[:TAG:@DIGEST]
别名:docker pull
功能: 下载一个特定镜像;一般来说NAME=server+仓库地址,而对于官方仓库中的镜像来说,在拉取的时候,一般不需要特别指定,默认就是docker Hub的ip地址+端口号,我们只需要指定要拉取的镜像在那个仓库和拉取那个版本即可;但是当我们不是在官方仓库拉取镜像的时候,我们需要指定仓库所在服务器的ip地址和端口号,然后在指定小仓库名+tag或者小仓库名+摘要;
参数:
-a : 拉取所有tag的镜像;
–disable-content-trust: 忽略镜像的校验,默认开启;
**实战: **
- 从官方拉取一个镜像:
- 从自己的阿里云服务器上拉取一个镜像:
docker push
语法:docker image push [options] NAME[:TAG]
别名:docker push
功能:向仓库推送镜像;同样的没有指定,默认仓库服务器在docker Hub上,指定了就用指定的;
参数:
-a:推送所有tag镜像;
–disable-content-trust: 忽略镜像校验,默认开启;
实战:
这里我就不想官方仓库推送了,太慢了,容易超时,我配置了个阿里的仓库,向这里面推送即可:
我们再来看看,阿里云镜像仓库:
上传成功!
docker search
语法:docker search [options] TERM
功能:搜索相关镜像,默认从docker Hub仓库进行搜索;
参数:
–no-trunc: 显示完整的镜像描述;
-f<过滤条件>: 列出收藏数不小于指定值的镜像;
实战:
没成功,搜索超时:
docker images
语法:docker image ls [options] [respository[:TAG]]
别名: docker images/ docker image list
功能: 查看本地镜像信息;
参数:
-a: 列出所有本地镜像(含中间层,默认情况下,是过滤掉中间映像层)
–digests: 显示镜像的摘要信息;
-f :显示满足条件的镜像
–format :显示满足条件的镜像
–no-trunc :显示满足条件的镜像
-q :只显示镜像 ID
实战
docker image inspect
语法:docker image inspect [options] image1 [image2…]
功能:显示一个镜像或多个镜像的详细信息
参数:
-f: 指定格式输出,默认是json格式输出;
实战:
docker tag
语法: docker image tag source_image[:tag] target_image[:tag]
别名:docker tag
功能:标记本地镜像,将其归入某一仓库。
实战:
docker rmi
语法:docker image rm [options] image [image…]
别名:docker image remove / docker rmi
功能:删除本地镜像,如果指定的镜像又多个标签,那么本次只会删除本次指定标签对于镜像的引用,并不会删除本地镜像;如果指定的镜像只有一个标签,那么本次除了会删除本次指定的标签,也会删除本次镜像;
参数:
-f: 强制删除正在运行的容器的镜像
实战:
docker image prune
语法: docker image prune [options]
功能:删除没有被引用为容器的镜像
参数:
-a: 删除所有没有被引用为容器的镜像
-f: 不需要提示信息,就是不需要系统来提示你是否要真的删除;
实战:
docker save
语法:docker image save [options] image [image…]
别名:docker save
功能:将一个或多个镜像打包为一个tar文件
参数:
-o: 写入一个文件,默认是stdout
实战:
docker load
语法:docker image load [options]
别名:docker load
功能:从tar包或者stdin加载镜像
参数:
-i: 从那个tar包读取,默认从stdin读取;
实战:
docker history
语法:docker image history [options] image [image…]
别名:docker history
功能:查看镜像分层信息
参数:
-H: 以人类看得懂的形式展示信息;
–format: 以特定格式输出
–no-trunc: 不截断的形式输出信息;
实战: