docker学习3--镜像

本文详细介绍Docker镜像的基本操作,包括下载、查看、删除、创建及上传镜像等关键步骤。通过实例演示如何利用Dockerfile生成镜像,以及如何通过快照导入和导出容器。
      在之前的介绍中,我们知道镜像是 Docker 的三大组件之一。Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是

Docker Hub 公共注册服务器中的仓库)。

1.列车本地镜像

 [root@localhost ~]# docker images

    此时,本地中还没有任何镜像。

2.下载镜像

   如果没有指定从私有仓库中下载镜像,则docker会默认从官方下载,registry.hub.docker.com。官方仓库上有个hello-world镜像例子,先搜索下


    发现官方仓库中,有许多hello-world镜像,选择第一个下载。


docker pull docker.io/hello-world,仓库地址,docker.io,没有指明tag,默认就是latest.运行这个镜像

docker run docker.io/hello-world


3.查看镜像信息

docker inspect 镜像名



4.删除本地镜像

docker rmi <IMAGE_ID>:删除image


  注意:删除镜像时,必须要先删除所依赖它的容器,容器就是运行镜像时产生的。用docker ps -l列出最后运行的容器,docker ps -a列出所有的容器,然后删除docker rm <容器id>

杀死所有正在运行的容器
docker kill $(docker ps -a -q)
删除所有已经停止的容器
docker rm $(docker ps -a -q)
删除所有未打 dangling 标签的镜像
docker rmi $(docker images -q -f dangling=true)
删除所有镜像
docker rmi $(docker images -q)

5.创建镜像

5.1修改已有镜像生成新镜像

     从仓库中下载一个镜像,修改后,通过docker commit命令来生成一个新镜像。

     从官方下载centOS的latest镜像,接近200M,下载有点慢


    centos就是一个操作系统,我们运行这个镜像,并进入这个镜像产生的容器,在容器的/opt下创建一个文件夹soft,然后保存为一个新镜像,

docker commit -m "说明" -a "修改人,提交人" <容器id>  目标镜像仓库/镜像名:版本号


查看下新镜像的信息


5.2 利用Dockerfile生成镜像

       Dockerfile下篇再学习

6.导入容器快照

    利用docker export导出一个容器快照。


    利用docker import导入容器快照,生成镜像


 此外也可以使用url来 docker import http://xxx.xxx.xxx/

*注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

7.上传镜像到私人的docker hub

    现在https://hub.docker.com/注册一个账号,然后


   必须要先登录docke login,然后docker tag或新生成一个镜像,repository是username/xxx形式的,否则会报错,看截图,上传完毕后,docker hub上就可以看到了




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值