Docker系列(15)- Commit镜像
docker commit 提交容器成为一个新的副本,有点像套娃 # 命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
实战测试
#step-1 启动一个默认的tomcat
[root@localhost ~]# docker run -d -p 3355:8080 --name tomcat02 tomcat
57644fa210a03bfea17b961b804bb528a94935700f0074b084b0603f48521889
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57644fa210a0 tomcat "catalina.sh run" 15 seconds ago Up 14 seconds 0.0.0.0:3355->8080/tcp, :::3355->8080/tcp tomcat02
3b6ca0890fa0 portainer/portainer "/portainer" 33 minutes ago Up 28 minutes 0.0.0.0:8088->9000/tcp, :::8088->9000/tcp dreamy_robinson
#step-2 发现这个默认的tomcat没有webapps应用,镜像的原因,官方的镜像默认 webapps下面是没有文件的
[root@localhost ~]# docker exec -it 57644fa210a0 /bin/bash
root@57644fa210a0:/usr/local/tomcat# ls
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs native-jni-lib temp webapps webapps.dist work
root@57644fa210a0:/usr/local/tomcat# ls webapps/
root@57644fa210a0:/usr/local/tomcat# ls webapps.dist/
ROOT docs examples host-manager manager
#step-3 自己拷贝基本文件进去
root@57644fa210a0:/usr/local/tomcat# cp -r webapps.dist/* webapps/
root@57644fa210a0:/usr/local/tomcat# ls webapps/
ROOT docs examples host-manager manager
root@57644fa210a0:/usr/local/tomcat# exit
exit
#step-4 commit
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57644fa210a0 tomcat "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:3355->8080/tcp, :::3355->8080/tcp tomcat02
3b6ca0890fa0 portainer/portainer "/portainer" 35 minutes ago Up 30 minutes 0.0.0.0:8088->9000/tcp, :::8088->9000/tcp dreamy_robinson
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0 266d1269bb29 7 days ago 668MB
tomcat latest 266d1269bb29 7 days ago 668MB
nginx latest dd34e67e3371 8 days ago 133MB
elasticsearch 7.14.0 e347b2b2d6c1 3 weeks ago 1.04GB
portainer/portainer latest 580c0e4e98b0 5 months ago 79.1MB
centos latest 300e315adb2f 8 months ago 209MB
[root@localhost ~]# docker commit -m="add webapps file" -a="gelaotou" 57644fa210a0 tomcat_gelaotou:1.0
sha256:fabb99d62dfe97e8146d75b7a18840f812dff6c1c24916016012306735a9139a
#step-5 校验
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat_gelaotou 1.0 fabb99d62dfe 6 seconds ago 673MB
tomcat 9.0 266d1269bb29 7 days ago 668MB
tomcat latest 266d1269bb29 7 days ago 668MB
nginx latest dd34e67e3371 8 days ago 133MB
elasticsearch 7.14.0 e347b2b2d6c1 3 weeks ago 1.04GB
portainer/portainer latest 580c0e4e98b0 5 months ago 79.1MB
centos latest 300e315adb2f 8 months ago 209MB

Docker系列(15)- Commit镜像的更多相关文章
- Docker 系列之 常用镜像
Ubuntu 实战 操作 # 拉取 18.04 版本的 Ubuntu 镜像 docker pull ubuntu:latest # 以交互方式运行并进入 ubuntu 容器环境 docker run ...
- docker 系列 - 企业级私有镜像仓库Harbor部署(转载)
本文转载自 搜云库 的文章 https://www.jianshu.com/p/7d76850de03f , 感谢作者 3.png 上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库, ...
- Docker系列06—基于容器制作镜像并上传到Docker Registry
本文收录在容器技术学习系列文章总目录 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容器制作镜像:基于dockerfile 制 ...
- Docker系列-(2) 镜像制作与发布
上篇文章引入了Docker的基本原理和操作,本节文章主要介绍如何制作Docker镜像和发布. 镜像文件结构 Docker镜像的本质是一系列文件的集合,这些文件依次叠加,形成了最后的镜像文件,类似于下图 ...
- Docker探索系列2之镜像打包与DockerFile
preface docker基本入门以后,可以试试打包docker镜像与dockerfile了 docker镜像 docker hub仓库有2类仓库,用户仓库和顶层仓库,用户仓库由docker用户创建 ...
- Docker系列之Docker镜像(读书笔记)
一.基本概念 Docker包括三个基本概念镜像.容器.仓库. Docker镜像:就是一个只读的模板.例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了Apache或其他应用程序.用 ...
- docker系列(二):镜像
1 引言 将docker与汽车生产线类比,如果说docker引擎是汽车生产车间,那么容器就是最终的产品——汽车,而本节要介绍的镜像就如同汽车设计图纸,其重要性不言而喻——只有有了设计图(镜像),才能生 ...
- docker系列四之docker镜像与容器的常用命令
docker镜像与容器的常用命令 一.概述 docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...
- 【Docker】7. 镜像-加载原理、分层原理、commit镜像
一.什么是镜像 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件. 它包含运行某个软件所需的所有内容,包括代码.运行时环境.库.环境变量和配置文件. 所有的应用,直接 ...
- Docker系列教程01-使用Docker镜像
docker系列导读 一文带你读懂什么是docker Docker安装部署 10张图带你深入理解Docker容器和镜像 前言 学习Docker,我们需要掌握它的三大核心概念:镜像.容器和仓库. 今天先 ...
随机推荐
- Java 多线程与并发【原理第一部分笔记】
Java 多线程与并发[原理第一部分笔记] Synchronized synchronized的基本含义以及使用方式 在Java中线程安全问题的主要诱因就是存在共享数据(也称为临界资源)以及存在多条线 ...
- ApiPost进阶教程(1) — 在ApiPost中使用脚本
什么是APIPOST脚本 APIPOST脚本是基于JavaScript语言的代码片段,可实现在接口请求或集合测试时添加动态行为. 脚本可实现的功能 测试(断言)请求返回结果的正确性(后置脚本). 动态 ...
- Do you want to continue? [Y/n] Abort.
当出现这个后命令终止,无法选择 y这时候 ,在输入命令时候提前加入 -y udo apt install sysv-rc-conf -y
- 备战秋招之十大排序——O(nlogn)级排序算法
时间复杂度O(nlogn)级排序算法 五.希尔排序 首批将时间复杂度降到 O(n^2) 以下的算法之一.虽然原始的希尔排序最坏时间复杂度仍然是O(n^2),但经过优化的希尔排序可以达到 O(n^{1. ...
- SpringBoot-AOP记录操作日志
package com.meeno.inner.oa.extend.operaterecord.aop; import com.alibaba.fastjson.JSONArray; import c ...
- Vue实现在前端导出Excel 方法2
也可以去看下我的方法1:https://www.cnblogs.com/yingyigongzi/p/10915382.html ----------------------------------- ...
- 在npm Vue单页面的环境下,兄弟组件之间通信Bus
参考1:https://www.cnblogs.com/wangruifang/p/7772631.html 参考2:https://www.jianshu.com/p/b3d09c6c87bf 在m ...
- mfc HackerTools全局钩子
钩子英文名叫Hook,是一种截获windows系统中某应用程序或者所有进程的消息的一种技术. 如在键盘中按下一键,操作系统将收到键按下消息,把消息放入消息队列,然后消息队列对消息进行派发,发给相应的应 ...
- tensorflow实现Word2vec
# coding: utf-8 ''' Note: Step 3 is missing. That's why I left it. ''' from __future__ import absolu ...
- JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.s ...