docker 镜像

docker 镜像

常用镜像仓库

官方仓库:hub.docker.com
自己的私有仓库: Harbor
阿里云私有仓库:registry.cn-hangzhou.aliyuncs.com
搜索镜像
docker search  [镜像名称]

-f  :过滤输出内容
--limit 限制展示个数
只显示出8k以上的nginx源
docker search -f start=8000 nginx 

拉取镜像
docker pull [镜像名称]
显示已拉取镜像
docker images
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    f8f4ffc8092c   4 weeks ago     133MB
nginx        1.16.1    dfcfd8e9a5d3   18 months ago   127MB
REPOSITORY  名称
TAG         版本
IMAGE ID    全球唯一
CREATED     镜像生成的时间
SIZE        镜像大小 
删除镜像
docker rmi [镜像名称或者镜像id]
-f 强制删除

docker rmi nginx
清空镜像
docker image  prune 

-a: 删除所有镜像
保存镜像

commit

#保存正在运行的容器直接为镜像
docker commit [容器id|容器名称]

# 实例
[root@Centos7 ~]# docker commit -a "Alvin" -m "这是一个docker镜像" -p be3b92e2886b  test:v1
sha256:4a06cd2af42877b5e2908073061f7ae1bf9e308a470bdfc0c6f906ef368aaed8
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
test         v1        4a06cd2af428   5 seconds ago   104MB

保存镜像

import/export

# 保存正在运行的容器为镜像压缩包
## 保存容器为镜像
docker export [容器的id]>[包名称]
# 实例
		[root@Centos7 ~]# docker export be3b92e2886b > redis.tar
        [root@Centos7 ~]# ll | grep redis
        -rw-r--r--. 1 root root 104178688 Mar 18 17:30 redis.tar
        
## docker import [包名称] [自定义镜像名称]
	# 实例
	[root@Centos7 ~]# docker import redis.tar test:v3
    sha256:7776db3402fb8d59f6121a3b1977b5e7016f4064cf59218fd1b06637cb0fca87
    [root@Centos7 ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
    test         v3        7776db3402fb   6 seconds ago   101MB

保存镜像

save/load

# 保存镜像为压缩包
# 保存镜像的格式:
	docker save [镜像名称|镜像ID] > [包名称]
    [root@Centos7 ~]# docker save 7731472c3f2a > apline.tar
    [root@Centos7 ~]# ll	
    -rw-r--r--. 1 root root   5888000 Mar 18 17:36 apline.tar
    [root@Centos7 ~]# docker save -o apline-two.tar 7731472c3f2a
    [root@Centos7 ~]# ll
    total 148692
    -rw-r--r--. 1 root root   5888000 Mar 18 17:36 apline.tar
    -rw-------. 1 root root   5888000 Mar 18 17:37 apline-two.tar

# 导入镜像的格式:
	docker load < [包名称]
	
	[root@Centos7 ~]# docker load < apline.tar 
    c04d1437198b: Loading layer [========================================>]   5.88MB/5.88MB
    Loaded image ID: sha256:7731472c3f2a25edbb9c085c78f42ec71259f2b83485aa60648276d408865839
    [root@Centos7 ~]# docker images
    REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
    <none>       <none>    7731472c3f2a   2 months ago     5.61MB

# 注:save/load保存镜像无法自定义镜像名称,save保存镜像时如果使用ID保存则load导入镜像无名称,使用名称导入时才有名称。
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
busybox      latest    b97242f89c8a   2 months ago     1.23MB
[root@Centos7 ~]# docker save busybox:latest > busybox.tar
[root@Centos7 ~]# ll
total 150120
-rw-r--r--. 1 root root   1459200 Mar 18 17:43 busybox.tar
[root@Centos7 ~]# docker rmi b97242f89c8a
Untagged: busybox:latest
Untagged: busybox@sha256:c5439d7db88ab5423999530349d327b04279ad3161d7596d2126dfb5b02bfd1f
Deleted: sha256:b97242f89c8a29d13aea12843a08441a4bbfc33528f55b60366c1d8f6923d0d4
Deleted: sha256:0064d0478d0060343cb2888ff3e91e718f0bffe9994162e8a4b310adb2a5ff74
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
[root@Centos7 ~]# docker load < busybox.tar 
0064d0478d00: Loading layer [==================================================>]   1.45MB/1.45MB
Loaded image: busybox:latest
[root@Centos7 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
busybox      latest    b97242f89c8a   2 months ago     1.23MB

构建镜像

docker 命令

- 保存镜像三种方式的区别
  1、export保存的镜像体积要小于save(save保存更完全,export保存会丢掉一些不必要的数据)
  
  2、export可以重命名镜像名称而save则不行
  3、save可以同时保存多个镜像而export则不行

原文地址:https://www.cnblogs.com/zongliang-ya/p/15503528.html