zoukankan      html  css  js  c++  java
  • 初识docker-镜像

    前言:

    以前学习docker 都是零零碎碎的,只知道用,有些莫名其妙的报错自己也没有思路去解决,所以基于一本专业的介绍docker的书籍,重新开启学习,该博客就记录下我自己的学习过程吧。

    1.docker是什么:
    与虚拟机的区别引用一篇博客:
    Docker其实也是类似于虚拟机的。至少在作用目的上是一致的。用一个“经典”的例子来作对比就是:将部署应用比作鸣人来搓螺旋丸,虚拟机类似于鸣人的影分身之术,每个分身(虚拟机)都拥有同样的身体(OS,环境),但是在查克拉(CPU)的使用上,每个分身的查克拉会均分自真身(真正的主机),这个行为也可以称之为CPU虚拟化,但是这里浪费了分身,用分身来搓一个小螺旋丸,太浪费了……而对于docker来说,就像是九尾模式的鸣人,我直接利用我体内的九尾查克拉(硬件资源),分成九只爪子,每只爪子相互独立,也可以搓小螺旋丸……
    2.docker 3大核心:镜像,仓库,容器
    2.1
    镜像就是一个一个类似于虚拟机的镜像,可以理解为一个面向Docker 引擎的只读模块包含了文件系统,如包含了ubuntu,就是ubuntu镜像,如包含了Apache 就是Apache镜像,
    2.2
    容器:容器是一个镜像的实例,利用容器来隔离有点像沙箱,如果说镜像就是一个特定的文件系统,那么容器就是一个完整的简易的操作系统包含文件系统,进程,用户空间,和网络空间,以及各种程序盒子等,书上说容器是镜像的可写层,我是这样理解的,镜像是不变的,当成是一个不变的类,然后有很多很多的实例,比如一个ubuntu镜像可以生成各种各样的程序容器。
    2.3
    仓库:
    仓库好理解,就是用来放镜像的地方,分为本地仓库(私有仓库)和云仓库(公开仓库),有各种各样的仓库,每个仓库通常是放一类镜像,该类镜像用tag来区分,而最大的稳定国内访问的仓库就是Docker Hub。
    2.pull 镜像,拉取容,pash上传到仓库
    docker images
    各字段解释:仓库TAG标识符,IMAGE ID 镜像唯一标识符,创建时间,仓库大小
    docker inspect 镜像详细信息
     
    docker pull ubuntu
    进入镜像:
    docker -t -i IMAGE ID /bin/bash 镜像id 前几个字母可代替完整的id
     
    2.搜索镜像:
    docker search TERM
    参数: --automated=false 重要,官方还是自建
    --no-trunc=false 输出信息不截断
    --stars=0 输出好评镜像
    3.删除镜像:
    docker rm 容器id
    docker rmi image(标签或者ID)
    docker rmi -f id 强制删除,建议不用有遗留问题。
    解决docker 镜像多引用问题导致镜像删不掉问题:
    如图
     
     
     

     解决办法:

    先docker rm 容器id
    在docker rmi 镜像id 就可以了
    删除错误有错误提示的按照错误去删除。注意运行中的容器是删不掉的,先stop了。
    4.创建镜像:
    3种方法:
    基于已有的镜像去创建,
    基于本地模板导入,
    基于Dockerfile创建
    docker commit 命令: 其命令格式为
    docker commit [option]CONTALINER [REPOSITORY[:TAG]]
    -a: --author=" "作者信息
    -m,--message=" " 提交消息
    -p, --pause =true 提交时暂停容器运行
    1.基于现有的仓库去创建:
    1.1.修改镜像:
     
    制作镜像:如图test镜像制作成功。
    docker commit -m "Added a new file" -a "lidaye" 47b19964fb50 test
     
    2.载入本地模板:
    命令docker import - 名字
    模板下载一般用openVZ 下载地址:http://openvz.org/Download/templates/precreated
    下载为一个tar压缩包:ubuntu xxx.tar.gz
    命令:sudo cat ubuntu xxx.tar.gz | docker import -ubuntu
    3存出和载入镜像:
    docker save和 docker load命令来存出和载入镜像
    在本地环境和docker本地仓库的联系。
    3.dockerfile 有专门章节。
     
  • 相关阅读:
    eclipse+myeclipse 使用技巧备忘
    程序员的自我修养
    枚举工具类 EnumUtils
    日期/时间处理工具 DateTimeUtil
    轻松了解Spring中的控制反转和依赖注入(一)
    了解SpringMVC框架及基本工作流程
    HTTP请求行、请求头、请求体详解
    Tomcat项目部署问题记录
    入手IntelliJ IDEA 常用配置
    解决阿里云OSS跨域问题
  • 原文地址:https://www.cnblogs.com/lidaye1928/p/10418496.html
Copyright © 2011-2022 走看看