docker镜像

Docker image详细介绍 docker images 是docker的三大组件之一。 docker把下载的 images 存储到docker主机上,如果一个 image 不 在主机上,docker会从一个镜像仓库下载,默认的仓库是 DOCKER HUB 公共仓库。 

    因为docker下载镜像默认是去国外网站,会比较慢,这里提供一些国内源,

编辑  /etc/docker/daemon.json

添加

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
保存退出,重启docker,   systemctl  restart  docker

docker  info 查看最后返回的信息

docker镜像_第1张图片

 

1、使用docker  images可以查看本机上的images

docker镜像_第2张图片

参数解析:repository :来自哪个仓库

                  tag  :镜像标签

                  images id :镜像的id号

                  created :镜像创建的时间

                  size : 镜像的大小

2、查找镜像使用docker  search  

docker  search   busybox

docker镜像_第3张图片

我们看到返回了很多包含mysql的 images 。其中包括 image 名字、描述、星级(表示该 image 的受欢迎程 度)、是否官方创建、是否自动创建。官方的 images 是stackbrew项目组创建和维护的,automated 资源允许 你验证 image 的来源和内容。 

3、获取镜像使用docker  pull

docker  pull  busybox

docker镜像_第4张图片

 

4、查看镜像的详细信息  docker  inspect

docker  inspect  busybox

docker镜像_第5张图片

docker镜像_第6张图片

或者

docker  images  --no-trunc   显示images的全部ID

 

4、制作自己的images, 

     1.第一个方法:使用 docker commit 来扩展一个 image 先使用 image 启动容器,更新后提交结果到新的 image 

   (1)运行一个container     docker  run  -dit --name box  busybox  

              再进入container   docker  exec  -it   box  /bin/sh

                         在里面随便编辑点东西,用于后面的验证

docker镜像_第7张图片

   (2)在host上制作镜像   使用  docker  commit 

docker镜像_第8张图片

命令解析:docker  commit:用于提交镜像   

                  08f68a52328e:是正在运行的container

                  myregisteries/busybox:给自己的镜像起个名 

     2. 从本地文件系统导入
要从本地文件系统导入一个镜像,可以使用openvz(容器虚拟化的先锋技术)的模板来创建:openvz的模板下 载地址为[imagetar]http://openvz.org/Download/template/precreated 先下载了一个centos-7-x86_64minimal.tar.gz的镜像,之后使用以下命令导入:

      cat centos-7-x86_64-minimal.tar.gz |docker import - centos7 

    第三种方法就是使用dockerfile了,这种方法比较复杂,但是用的最多的,到后面会单独拿出来一篇文章来说。

5、上传镜像,使用docker  push

  这里我登上自己的hub.docker,没有的话,可以自己去注册https://hub.docker.com/

把刚刚做的镜像上传到仓库

docker  push  myregisteries/bustbox:latest就可以了

 

6、用docker  rmi 移除images

  为了防止其他container干扰,我把所有cimtainer都杀掉了

docker镜像_第9张图片

 

7、保存和载入images

当需要把一台机器上的镜像迁移到另一台机器的时候,需要存出镜像与载入镜像。 存出镜像 如果要导出镜像到 本地文件,可以使用docker save 命令。

[root@docker-100 ~]# docker save -o centos-mariadb.tar centos:mariadb 

载入镜像 可以使用docker load 从导出的本地文件中再导入到本地镜像库,例如

[root@docker-100 ~]# docker load --input centos-mariadb.tar  

[root@docker-100 ~]# docker load < centos-mariadb.tar  
 

 

你可能感兴趣的:(docker)