前言:

以前学习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 有专门章节。
 

初识docker-镜像的更多相关文章

  1. Docker 学习应用篇之一: 初识Docker

    Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等.第一次接触Docker,还是老师给我们介绍的. 1.初 ...

  2. MySQL、MongoDB、Redis数据库Docker镜像制作

    MySQL.MongoDB.Redis数据库Docker镜像制作 在多台主机上进行数据库部署时,如果使用传统的MySQL的交互式的安装方式将会重复很多遍.如果做成镜像,那么我们只需要make once ...

  3. 理解Docker(2):Docker 镜像

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  4. 如何合并两个Docker 镜像

    http://www.open-open.com/lib/view/open1437746544709.html 在你的机器上使用docker pull来从Docker Hub下载镜像. docker ...

  5. Docker镜像的管理和创建

    1. Docker镜像和Docker容器:      Docker镜像实际上是一系列的文件系统,通常的Linux系统一般是两层文件系统,bootfs和rootfs,bootfs就是bootloader ...

  6. docker 源码分析 四(基于1.8.2版本),Docker镜像的获取和存储

    前段时间一直忙些其他事情,docker源码分析的事情耽搁了,今天接着写,上一章了解了docker client 和 docker daemon(会启动一个http server)是C/S的结构,cli ...

  7. docker使用阿里云Docker镜像库加速

    官方镜像下载实在是慢,于是开通了阿里云开发者帐号, 官方帮助 阿里云Docker镜像库 阿里云容器Hub服务:http://dev.aliyun.com/search.html 来自云端的容器Hub服 ...

  8. 第四章 使用Docker镜像和仓库(二)

    第四章 使用Docker镜像和仓库(二) 回顾: 开始学习之前,我先pull下来ubuntu和fedora镜像 [#9#cloudsoar@cloudsoar-virtual-machine ~]$s ...

  9. 第四章 使用Docker镜像和仓库

    第4章 使用Docker镜像和仓库 回顾: 回顾如何使用 docker run 创建最基本的容器 $sudo docker run -i -t --name another_container_mum ...

  10. 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

随机推荐

  1. [poj P1475] Pushing Boxes

    [poj P1475] Pushing Boxes Time Limit: 2000MS   Memory Limit: 131072K   Special Judge Description Ima ...

  2. 如何 distinct 只对一个字段有用,同时查出其他字段

    转至:http://blog.csdn.net/u013402772/article/details/51262524 在使用MySQL时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有d ...

  3. 如何seo(搜索引擎优化)

    Seo是指遵循搜索引擎的搜索原则,对网站结构.网页文字语言和站点间互动外交等进行合理规划部署,以改善网站在搜索引擎的搜索表现,从而增加客户发现并访问网站的可能性的一个过程.

  4. excel表格中,怎么根据一列重复的数据求对应另一列总和

    如下: 求出姓名对应分数总和对应 : 首先复制一份Sheet2 对Sheet1进行操作选中A列姓名 数据->删除重复项->以前选中区域排序->删除重复项 然后删除对应成绩项选中张三对 ...

  5. Java中的值传递与引用传递

    1.基本类型和引用类型在内存中的保存 Java中数据类型分为两大类,基本类型和对象类型.相应的,变量也有两种类型:基本类型和引用类型. 基本类型的变量保存原始值,即它代表的值就是数值本身: 而引用类型 ...

  6. 开始Flask项目

    新建Flask项目. 设置调试模式. 理解Flask项目主程序. 使用装饰器,设置路径与函数之间的关系. 使用Flask中render_template,用不同的路径,返回首页.登录员.注册页. 用视 ...

  7. nasm学习资料

    http://cee.github.io/NASM-Tutorial/   学习nasm的一个例子, 不错, 代码跟着敲, 出结果.理解起来不费事. http://www.mouseos.com/as ...

  8. lettuce行为驱动框架实例

    练习: 一:e1_MyFirstBDD 使用方法的方式实现阶乘的计算 zero.feature: Feature: Compute factorial In order to play with Le ...

  9. C# 实现CRC16校验

    前言 本文将使用一个NuGet公开的组件技术来实现CRC16校验功能,提供了一些简单的API,来方便的实现. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控 ...

  10. 【软件安装】nvidia驱动安装事宜

    https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html https://docs.nvidia.com/cuda/arch ...