1. docker images 的分层

首先我们需要理解的是docker images的分层原理

可能你看完这个还不太理解什么是分层, 不知道你是否有注意到当我们docker pull 一个image的时候, 他是一层一层的下载的

所以从这个就可以看出第一层我们已经有了, 可能是centos的基本文件命令,因为我们的redis要基于一个linux系统, 我们就不需要再去下载了. 直接进行层级复用即可, 这样就快很多并且下载的文件体积也小很多
这是第一个原因为什么docker快

第二个原因就是拿VM和docker相比, 我们建立一个VM, 需要去模拟他的整个OS系统, 那就需要有自己的kernel内核. 每一台虚拟机就有一个自己的内核. 但是相比于docker, docker是直接复用了主机host的kernel, 而不是自己维护自己的内核. docker pull 下载下来的文件也只是比如说我们的Centos里面必要的指令集.
它包含运行某个软件所需要的所有内容,包括代码,运行时(一个程序在运行或者在被执行的依赖)、库,环境变量和配置文件。内核直接复用我们host的内核即可 . 相比于VM那就快的多了.

2. docker commit

接下来就自己发布一个属于自己的镜像
当我们运行一个Tomcat的镜像时, 他的webapps里面默认是没有文件的. 于是此时我们想要自己加一点文件到webapps里面去, 那么就相当于我自己加了一层数据层, 但其实是基于官方给的tomcat镜像这个官方的tomcat镜像又分了很多层, 现在我想打包, 之后都使用这一个tomcat镜像该怎么办呢. 此时就可以使用docker commit 命令了

docker commit -a=“作者” -m=“image的描述” 容器ID 目标镜像名:[TAG]

docker commit -a=“wjh” -m=“add webapps” c8d2a8e64fc6 tomcat02:1.0


这样我们就可以一直使用属于我们自己创建的tomcat镜像

docker images


如果想要让别人也用到你的docker image, 那么就需要使用dockerFile上传到dockerHub里面啦

docker commit 发布自己的镜像相关推荐

  1. 使用docker commit将修改后的容器保存为镜像及其使用注意事项

    docker commit使用示例 我们修改了容器的文件,也就是改动了容器的存储层.我们可以通过 docker diff 命令看到具体的改动. $ docker diff webserver C /r ...

  2. Docker Commit Push Weblogic JDBC应用程序

    通过docker commit生成新的镜像 通过docker push发布到私有仓库上 相关参数和命令 jdbc:oracle:thin:@//10.128.222.243:1521/OraDoc.m ...

  3. Docker实践(二)镜像

    目录 从仓库获取镜像 管理本地主机的镜像 创建镜像 修改已有镜像 使用Dockerfile创建镜像 从本地文件系统导入镜像 上传镜像 存出和载入镜像 清理镜像 Docker使用镜像创建容器,Docke ...

  4. docker commit 和docker build (实战使用以及区别)

    1.commit与build优缺点比较 commit: 优点: 简单.所见所得 缺点 元数据信息无法注入 镜像层级的重用性弱 编译步骤不可重用 build: 优点 元数据信息可注入 镜像层级的重用性强 ...

  5. docker hub push_Docker系列-(2) 镜像制作与发布

    上篇文章引入了Docker的基本原理和操作,本节文章主要介绍如何制作Docker镜像和发布. 镜像文件结构 Docker镜像的本质是一系列文件的集合,这些文件依次叠加,形成了最后的镜像文件,类似于下图 ...

  6. dockerfile如何运行镜像内的脚本_Docker精华问答 | Docker commit如何用?

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 1 ...

  7. Docker的架构与自制镜像的发布

    一. Docker                            Docker与自动化测试 docker 是基于 Go 语言的开源的应用容器引擎,并遵从Apache2.0协议,docker 让 ...

  8. docker commit (从容器创建一个新的镜像)

    从容器创建一个新的镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者:-c :使用Dockerfile指令来创建镜像 ...

  9. 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记

    在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用. 查看镜像 [root@docker-test1 ~]# docker image ...

最新文章

  1. python解决组合问题
  2. 解析没有id的html,网络爬虫干货,还在用正则匹配html?专业的解析组件了解一下...
  3. BZOJ4129: Haruna’s Breakfast
  4. ArcGIS Server--揭开你的神秘面纱
  5. php使用fopen乱码,php下fopen中文文件名乱码怎么办?
  6. 远控免杀专题 14 ---AVIator
  7. 聊聊spring cloud gateway的XForwardedHeadersFilter
  8. python basemap的安装
  9. Windows Media Services (1) 搭建 电影服务器教程
  10. 微型计算机原理及应用论文,微型计算机原理及应用7030112997-TP19300101.pdf
  11. C# 中 动态获得或设置一个对象的值
  12. redis插槽(slot)分配详解(集群动态新增或删除结点)
  13. 一篇文章了解光学器件的各种参数含义
  14. css折叠样式(4)——div+css布局
  15. 概率论与数理统计学习笔记(5)——极大似然估计
  16. matlab ga函数详解,matlab遗传算法ga函数
  17. Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices
  18. Pygame实现小球躲避
  19. XP系统电脑因“未激活”无法登录进入桌面,而输入序列号后提示“已激活”,以此死循环
  20. 普通浏览器打开微信页面出现验证的解决方法

热门文章

  1. mysql 最长字符串_那些年的Mysql
  2. 无源定位之时差估计的精确时差估计算法(ETDE)及MATLAB实现程序
  3. 文巾解题 LCP 07. 传递信息
  4. R语言实战应用精讲50篇(十六)--如何实现文字云可视化
  5. 里面使用轮播_小程序ColorUI框架初步使用教程及个人项目实战
  6. Python中join()方法和os.path.join()方法
  7. LeetCode-动态规划基础题-509. 斐波那契数
  8. QT 使用全局变量的方法
  9. github关联域名,创建个人网站教程终结篇
  10. elasticsearch index、create和update的源码分析