http://dockone.io/article/101
build once, configure once and run anywhere
Docker的特性主要包括以下几点:
- 速度飞快以及优雅的隔离框架
- 物美价廉
- CPU/内存的低消耗
- 快速开/关机
- 跨云计算基础构架
三个组件分别是:
Docker Client
是用户界面,它支持用户与Docker Daemon
之间通信。Docker Daemon
运行于主机上,处理服务请求。Docker Index
是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份。
三个基本要素分别是:
Docker Containers
负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。Docker Images
是一个只读模板,用来运行Docker容器。DockerFile
是文件指令集,用来说明如何自动创建Docker镜像
docker index是不是远程的?
文中讲述运行应用程序的步骤不理解,Dockerfile和镜像的关系说的不清楚,怎么每次都推到resiger。
http://dockone.io/article/102
我的理解是命令行就是Docker Client,通过docker命令行和Daemon沟通。
通过docker run命令来对此镜像执行命令,执行一次进程也就消失了。 是将容器保存为镜像。我理解的是一个容器在没有命令的时候是一个镜像,在运行命令的时候是一个镜像。docker run -d 的意思是让程序一直在后台运行。
运行容器源于我们在第一步中创建的镜像。当容器被启动后,一个读写层会被添加到镜像的顶层。当分配到合适的网络和IP地址后,需要的应用程序就可以在容器中运行了。
比如
我做了一个实验
docker run -d
docker ps
就可以发现job容器在运行。也就是说,你commit时候的容器就是一个镜像,这时如果容器在运行进程,那么这个镜像会连进行一块打包。
但是为什么要连进程一块打包呢?