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 查看最后返回的信息

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

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

                  tag  :镜像标签

                  images id :镜像的id号

                  created :镜像创建的时间

                  size : 镜像的大小

2、查找镜像使用docker  search  

docker  search   busybox

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

3、获取镜像使用docker  pull

docker  pull  busybox

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

docker  inspect  busybox

或者

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

4、制作自己的images, 

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

   (1)运行一个container     

        docker# docker  run  -dit --name box  busybox  

   (2)再进入container 

       docker# docker  exec  -it   box  /bin/sh

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

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

命令解析: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干扰,我把所有container都杀掉了

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  

附加:搭建私有仓库
1、拉取一个私有仓库的镜像

  docker# docker pull registry

2、配置私有仓库

   vi /etc/docker/daemon.json

     {
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],

"insecure-registries":["192.168.0.120:5000"]
}

3、重新加载docker

    docker# systemctl daemon-reload  &&  systemctl restart docker

4、运行registry,在通过浏览器访问http://host:port/v2/_catalog访问,如下

docker run -di --name registry -p 5000:5000 registry

5、尝试把镜像上传到私有仓库,这里用busybox做例子

    docker#  docker tag buxybox:latest 127.0.0.1:5000/box

    docker#  docker push  127.0.0.1:5000/box

    

6、再去浏览器中确认是否上传成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_46715997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值