Docker image Introduce

Docker 的image是运行的基本.
例如我们build一个image时, 在Dockerfile每条指令会产生一个可读写的image, 下一条指令使用上一条指令产生的image为基础, 继续产生image(然后删除上一个image), 如果指令没有对image有修改的动作, 那么可以使用image cache. 所有的指令执行完, 生成最终的image.
然后我们就可以使用image来创建并运行container了.

例如我当前本地有一个images, centos, TAG是centos5, 我需要使用它作为base image, 来创建我自己的image.
[root@150 docker]# docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos                    centos5             d5844d902074        2 days ago          467.1 MB


创建一个空目录, 并在这个空目录中写一个简单的Dockerfile内容如下 : 
# vi Dockerfile 
FROM centos:centos5
CMD ["-l"]
ENTRYPOINT ["ls"]


使用docker build .来创建image.
[root@150 docker]# docker build .
Sending build context to Docker daemon  2.56 kB
Sending build context to Docker daemon 
Step 0 : FROM centos:centos5---> d5844d902074   # 这个ID是centos:centos5的IMAGE id
Step 1 : CMD ["-l"]---> Running in 9fd2f16fcf97   # 这个ID是执行第一条指令CMD ["-l]时产生的中间过程IMAGE ID---> e253cb9b0ea4   # 这个ID是执行第一条指令CMD ["-l]后产生的IMAGE ID
Removing intermediate container 9fd2f16fcf97   #  移除中间image
Step 2 : ENTRYPOINT ["ls"]---> Running in 52c06c9fae1b  ---> a18fae31b310
Removing intermediate container 52c06c9fae1b
Successfully built a18fae31b310    # 最终的ID, 可以使用docker images看到这个ID


[root@150 docker]# docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                    <none>              a18fae31b310        14 minutes ago      467.1 MB
centos                    centos5             d5844d902074        2 days ago          467.1 MB


使用这个image运行
[root@150 docker]# docker run a18fae31b310
total 64
drwxr-xr-x   2 root root 4096 Sep 26 12:21 bin
drwxr-xr-x   4 root root  340 Sep 30 10:29 dev
drwxr-xr-x  39 root root 4096 Sep 30 10:29 etc
drwxr-xr-x   2 root root 4096 May 11  2011 home
drwxr-xr-x   6 root root 4096 Sep 26 12:20 lib
drwxr-xr-x   7 root root 4096 Sep 26 12:20 lib64
drwx------   2 root root 4096 Sep 26 12:19 lost+found
drwxr-xr-x   2 root root 4096 May 11  2011 media
drwxr-xr-x   2 root root 4096 May 11  2011 mnt
drwxr-xr-x   2 root root 4096 May 11  2011 opt
dr-xr-xr-x 372 root root    0 Sep 30 10:29 proc
drwxr-x---   2 root root 4096 May 11  2011 root
drwxr-xr-x   2 root root 4096 Sep 26 12:21 sbin
drwxr-xr-x   3 root root 4096 Sep 26 12:21 selinux
drwxr-xr-x   2 root root 4096 May 11  2011 srv
drwxr-xr-x  13 root root    0 Sep 30  2014 sys
drwxrwxrwt   2 root root 4096 Sep 26 12:21 tmp
drwxr-xr-x  14 root root 4096 Sep 26 12:20 usr
drwxr-xr-x  17 root root 4096 Sep 26 12:19 var[root@150 docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                         PORTS               NAMES
ae77e79c4f58        a18fae31b310        ls -l               29 seconds ago      Exited (0) 28 seconds ago                          desperate_lovelace [root@150 docker]# docker rm ae77e79c4f58
ae77e79c4f58
[root@150 docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES


image的介绍 : 

Introduction

Docker image Introduce - 德哥@Digoal - PostgreSQL research

 

In Docker terminology, a read-only Layer is called an image. An image never changes.

Since Docker uses a Union File System, the processes think the whole file system is mounted read-write. But all the changes go to the top-most writeable layer, and underneath, the original file in the read-only image is unchanged. Since images don't change, images do not have state.

Docker image Introduce - 德哥@Digoal - PostgreSQL research

 

Parent Image

Docker image Introduce - 德哥@Digoal - PostgreSQL research

Each image may depend on one more image which forms the layer beneath it. We sometimes say that the lower image is the parent of the upper image.

Base Image

An image that has no parent is a base image.

Image IDs

All images are identified by a 64 hexadecimal digit string (internally a 256bit value). To simplify their use, a short ID of the first 12 characters can be used on the command line. There is a small possibility of short id collisions, so the docker server will always return the long ID.


[参考]
1. http://docs.docker.com/terms/image/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 筛选组件_记一个复杂组件(Filter)的从设计到开发

此文前端框架使用 rax&#xff0c;全篇代码暂未开源&#xff08;待开源&#xff09;原文链接地址&#xff1a;Nealyang/PersonalBlog前言貌似在面试中&#xff0c;你如果设计一个 react/vue 组件&#xff0c;貌似已经是司空见惯的问题了。本文不是理论片&#xff0c;更多的是自…

Adobe称Flash技术遭排斥 呼吁政府介入

据国外媒体昨日报道&#xff0c;Adobe在一份提交给美国证交会的申报文件中抱怨称&#xff0c;Flash技术遭到苹果的全面排斥&#xff0c;这有可能对Adobe的业务产生影响。一位业内人士指出&#xff0c;此举彰显出Adobe可能要求政府机构的介入。 呼吁政府介入苹果旗下iPod Touch、…

python的正则表达式 re

2019独角兽企业重金招聘Python工程师标准>>> 原文发表在&#xff1a; http://luy.li/2010/05/12/python-re/ 延伸阅读&#xff1a;python的 内建函数 和 subprocess 。此文是本系列的第三篇文章了&#xff0c;和之前一样&#xff0c;内容出自官方文档&#xff0c;但…

python爬取图书信息_Python3 爬虫爬取中国图书网(淘书团) 记录

本人为一名刚开始学Python爬虫的小白&#xff0c;开贴仅为记录下自己的学习历程&#xff0c;方便做review要爬取链接&#xff1a;http://tuan.bookschina.com/要爬取内容&#xff1a; 图书名称&#xff0c; 图书价格&#xff0c; 以及对应预览图的link本文用到py packages: req…

求1到100中9的个数

个位9的数目十位9的数目 #include<stdio.h> int main() {int num 0;int count 0;for (num 1; num < 100; num){if (num % 10 9) //个位9的个数count;if (num / 10 9)//十位9的个数count;}printf("%d", count);return 0; }

Android 核心已经从 Linux kernel 代码库中删除

Greg Kroah-Hartman Novell 的开发人员&#xff0c;他主要负责维护 Linux 操作系统的启动&#xff0c;USB和驱动核心&#xff0c;近日他表示谷歌 Android 系统的驱动核心 已经从 Linux kernel 2.6.33 代码库中删除。Greg Kroah-Hartman 也是一个 Android 手机系统的爱好者&…

福克斯保养明细

福克斯轮胎厚度&#xff1a; 胎冠厚度在13mm左右(胎冠花纹深7mm、胎冠厚6mm&#xff09;&#xff0c; 胎侧厚度5mm。 现在的轿车轮胎一般胎面胶层厚度都比较厚&#xff0c;以165/70R13 锦湖KR19轮胎为例:花纹深度为7毫米&#xff0c;缓冲层1&#xff0d;1.5毫米&#xff0c;冠带…

python中英文半角还是全角_Python3全角转半角的方法

相信大家都对全角半角的概念已经有所了解了。中文文字永远是全角&#xff0c;只有英文字母、数字键、符号键才有全角半角的概念,一个字母或数字占一个汉字的位置叫全角&#xff0c;占半个汉字的位置叫半角。标点符号在中英文状态下、全半角的状态下是不同的。转换说明全角半角转…

USACO 1.1 Your Ride Is Here

今天开始切USACO 加油 /* ID: aznfy1 PROG: ride LANG: C */ #include <iostream> #include <fstream> #include <string> #include <stdio.h>using namespace std;char a[10],b[10];int main() {freopen("ride.in","r",stdin);f…

C语言分数求和

eg.1-1/21/3-1/41/5-1/6…1/99-1/100 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>int main() {int i 0;double sum 0.0;int flag 1;for (i 1; i < 100; i){sum flag*1.0 / i;flag -flag;}printf("%lf\n", sum);return 0; }

Mysql支持的数据类型(总结)

2019独角兽企业重金招聘Python工程师标准>>> 一.数值类型 Mysql支持所有标准SQL中的数值类型&#xff0c;其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC)&#xff0c;以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增…

chrome web store的信息

chrome web store终于现身了&#xff0c;期待好久了啊&#xff01;以后好玩了&#xff0c;哈哈。迅速记录一下几个链接&#xff1a;https://chrome.google.com/webstorehttp://groups.google.com/a/chromium.org/group/chromium-apps/topicshttp://code.google.com/intl/zh-CN/…

uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...

理解&#xff1a;let变量的作用域只能在当前函数中js中const,let,var的区别及作用域_lianzhang861的博客-CSDN博客​blog.csdn.net全局作用域中&#xff0c;用 const 和 let 声明的变量不在 window 上&#xff0c;那到底在哪里&#xff1f;如何去获取&#xff1f;​blog.csdn.n…

C语言求十个数中最大值

一.代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int arr[] { 1,2,3,4,5,63,7,8,9,11 };int sz sizeof(arr) / sizeof(arr[0]);int max arr[0];int i 0;for (i 1; i < 10; i){if (arr[i] > max)max arr[i];}printf("%d\n&qu…

ubuntu20.04安装timeshift最新方法

总结&#xff1a; 现在可以使用如下代码安装 sudo apt-get update sudo apt-get install timeshift原因&#xff1a; 在尝试Timeshift系统备份与还原中的方法时&#xff0c; sudo apt-add-repository -y ppa:teejee2008/ppa运行失败。 更改为以下代码&#xff1a; sudo a…

js基础练习---面向对象浅理解分析

function createPerson(name,sex,color) //构造函数{var objnew Object();//创建一个空对象obj.namename; obj.sexsex;obj.colorcolor;obj.Shownamefunction(){alert("我的名字是"this.name);};obj.Showsexfunction(){alert("我是"this.sex"的")…

前端一些面试问题3

DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。 DOM操作——怎样添加、移除、移动、复制、创建和查找节点。 1.创建新节点 createDocumentFragment() createElement() createTextNode() 2.添加、移除、替换 appendChild() removeChild() replaceChild(…

SQL Server安全(6/11):执行上下文与代码签名(Execution Context and Code Signing)

在保密你的服务器和数据&#xff0c;防备当前复杂的攻击&#xff0c;SQL Server有你需要的一切。但在你能有效使用这些安全功能前&#xff0c;你需要理解你面对的威胁和一些基本的安全概念。这篇文章提供了基础&#xff0c;因此你可以对SQL Server里的安全功能充分利用&#xf…

索引超出数组界限是什么意思_从V8源码分析一个JS 数组的内存占用问题

前段时间&#xff0c;在排查一个问题的时候&#xff0c;遇到了一个有点令人困惑的情况&#xff0c;有下面这两段代码&#xff1a;const a new Array(99999); a[99998] undefined;const b new Array(99999); b[99999] undefined;我们通过 node --inspect-brk 来分别运行这两…

浅谈PVID和VID区别

PVID和VID彻底研究&#xff08;上&#xff09;——PVID的作用及和VID的区别Pvid和Vid经常出现于二、三层交换机里&#xff0c;由于PVID和VID的设置不合理&#xff0c;造成VLAN划分变得混乱。本文就对PVID和VID进行了彻底研究。pvid是交换机上的概念,说的是进入该端口的报文如果…