查看本地镜像
docker images
可以查看本地下载的镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
docker image ls [OPTIONS] [REPOSITORY[:TAG]]
#常用选项:
-q, --quiet Only show numeric IDs
-a, --all Show all images (default hides intermediate images)
–digests Show digests
–no-trunc Don’t truncate output
-f, --filter filter Filter output based on conditions provided
–format string Pretty-print images using a Go template
执行结果的 显示信息说明
REPOSITORY #镜像所属的仓库名称
TAG #镜像版本号(标识符),默认为latest
IMAGE ID #镜像唯一ID标识,如果ID相同,说明是同一个镜像有多个名称
CREATED #镜像在仓库中被创建时间
VIRTUAL SIZE #镜像的大小
显示完成的 image ID
查看指定镜像的详细信息
镜像导出
利用docker save命令可以将从本地镜像导出为一个打包 tar文件,然后复制到其他服务器进行导入使用
格式:
docker save [OPTIONS] IMAGE [IMAGE…]
选项:
-o, --output string Write to a file, instead of STDOUT
#说明:
Docker save 使用IMAGE ID导出,在导入后的镜像没有REPOSITORY和TAG,显示为
导出指定镜像
docker save docker.io/library/mysql:latest -o ./myimages.tar
#或者
docker save docker.io/library/mysql:latest > ./myimages.tar
进阶操作
导出所有镜像至不同的文件中
docker images | awk 'NR!=1{print $1,$2}' | while read repo tag
;do docker save $repo:$tag -o /opt/$repo-$tag.tar ;done
导出所有镜像到一个打包文件
#方法1: 使用image ID导出镜像,在导入后的镜像没有REPOSITORY和TAG,显示为<none>
docker save `docker images -qa` -o all.tar
#方法2:将所有镜像导入到一个文件中,此方法导入后可以看REPOSITORY和TAG
docker save `docker images | awk 'NR!=1{print $1":"$2}'` -o all.tar
#方法3:将所有镜像导入到一个文件中,此方法导入后可以看REPOSITORY和TAG
docker image save `docker image ls --format "{{.Repository}}:{{.Tag}}"` -o all.tar
镜像导入
利用docker load命令可以将镜像导出的打包或压缩文件再导入
格式:
docker load [OPTIONS]
#选项
-i, --input string Read from tar archive file, instead of STDIN
-q, --quiet Suppress the load output
镜像导入
docker load -i myimages.tar
#或者
docker load < myimages.tar
删除镜像
docker rmi 命令可以删除本地镜像
格式:
docker rmi [OPTIONS] IMAGE [IMAGE…]
docker image rm [OPTIONS] IMAGE [IMAGE…]
#选项:
-f, --force Force removal of the image
–no-prune Do not delete untagged parents
docker 删除多个镜像
docker rmi nginx mysql php
删除所有镜像
docker rmi -f `docker images -q`
镜像打标签
docker tag 可以给镜像打标签,类似于起别名,但通常要遵守一定的命名规范,才可以上传到指定的仓库
格式:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
#TARGET_IMAGE[:TAG]格式一般形式
仓库主机FQDN或IP[:端口]/项目名(或用户名)/image名字:版本
[root@sre7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/mysql latest 996fa9077f75 Less than a second ago 558 MB
[root@sre7 ~]# docker tag docker.io/library/mysql docker.io/library/mysql:mysql
[root@sre7 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/mysql latest 996fa9077f75 Less than a second ago 558 MB
docker.io/library/mysql mysql 996fa9077f75 Less than a second ago 558 MB
总结: 企业使用镜像及常见操作: 搜索、下载、导出、导入、删除
命令总结:
docker search centos
docker pull alpine
docker images
docker save > /opt/centos.tar #centos #导出镜像
docker load -i /opt/centos.tar #导入本地镜像
docker rmi 镜像ID/镜像名称 #删除指定ID的镜像,此镜像对应容器正启动镜像不能被删除,除非将容器
全部关闭