浅谈docker学习之路:二:docker镜像管理

一:首先来说以下docker镜像的制作方式,其实docker镜像制作方式有以下几种,分别是

  • Dockerfile
  • 基于容器制作
  • Docker Hub automated builds
  • docker save/load
  • docker export/import

接下来对其分别介绍一下

Dockerfile:Dockerfile的重要性不言而喻,Dockerfile主要作用是用来创建一个自定义的镜像,其中包括用户指定的依赖包等。镜像并不是一个单一的文件,它是由很多层构成的。Dockerfile是一种被Docker程序解释的脚本,Dockerfile由一条条指令构成,其对应linux下的一条条命令,但是Dockerfile里的指令并不是shell脚本,跟shell脚本完全不是一个性质,docker程序会读取Dockerfile里的指令从而创建镜像。后面Dockerfile使用会详细介绍其命令格式及相关内容,在此不再赘述。

基于容器制作:在这解释一下容器其实是在镜像的最上面加了一层读写,在运行的容器中有文件改动时。会先从镜像里把要写的文件复制到容器自己的文件系统中,然后写到读写。但是如果容器删除了,读写也删了,相应改动也就丢失,所以说不管多少个容器共享一个镜像,所作的操作并不会改变镜像的源文件,而要想持久化作这些改动,则提出了基于容器制作镜像。

  • docker commit [OPTIONS] CONTAINER [REPOSITOPY[:TAG]]

在此详细介绍一下用法:

OPTIONS:

-a :提交镜像制作人

-c :使用Dockerfile创建镜像

-m:相关文字说明

-p :创建时将容器暂停

Docker Hub automated builds:此方法跟Dockerfile方法殊途同归,多一个私有化存储库的构建,后边单独分出一节介绍,此处不再赘述。

docker save/load:docker save将镜像保存为tar文件,然后load命令将tar文件加载到本地镜像里。

docker export/import :docker export为导出本地容器快照到本地文件,然后import将容器快照文件导入为镜像。

1.导出容器

docker export  容器id  >   名字.tar

2.将容器在另一台机器上导入

cat  名字.tar | docker import  ­  镜像名字(如musqlmaster)

3.开启容器

docker  run ­it ­p 3306:3306 ­e MYSQL_ROOT_PASSWORD=123456 --name mastermysql -d mysqlmaster(镜像名字) 后边必须加command(/entrypoint.sh mysqld)
4.查看容器并进入容器
docker ps -a
docker exec -it 容器id  /bin/bash

其实docker镜像的五种制作方式最重要也最常见的应为第一种Dockerfile方式,应把学习重点放在此处。

二:介绍完docker镜像的制作方式之后,我们就着重谈一下docker的镜像管理

  • 拉取镜像           
  • 查看镜像           
  • 导出/导入镜像   
  • 删除镜像            

如上所示,其实镜像的管理可分为四个部分,分别是拉取镜像、查看镜像、导出/导入镜像、删除镜像,而制作镜像可以作为这四个部分的前提,因为一般所指的拉取镜像为从官网镜像库中拉取,而本人制作镜像之后可以放在私人镜像库里,这样拉取镜像就可以指定从私人镜像库中拉取。

  • docker pull + 镜像名
  • docker images
  • docker export/import
  • docker images rm + 镜像名

本节介绍了docker的镜像管理,其中着重介绍了docker镜像的制作方式,再次强调其中最重要的方式是Dockerfile制作,当然这么重要的内容必须分出单独的一小节来介绍呀,哈哈哈,最后希望本节内容能带给学习docker的同学一点帮助,大家一起加油!!!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值