《第一本Docker》笔记(一)之Docker简介

一、Docker简介

1.Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。Docker的特别之处:Docker在虚拟化的容器执行环境中增加了一个应用程序部署引擎。该引擎的目标就是提供一个轻量、快速的环境,能够运行开发者的程序,并方便高效地将程序从开发者的笔记本部署到测试环境,然后再部署到生产环境。

2.Docker提供一个简单、轻量的建模方式:Docker依赖于“写时复制”模型(写时复制技术:内核只为新生成的子进程创建虚拟空间结构,它们来复制于父进程的虚拟究竟结构,但是不为这些段分配物理内存,它们共享父进程的物理空间,当父子进程中有更改相应段的行为发生时,再为子进程相应的段分配物理空间。)

3. Docker提供职责的逻辑分离:开发人员只关心容器中运行的应用程序,运维人员只需要关心如何管理容器。Docker设计的目的就是加强开发人员写代码的开发环境与应用程序要部署到生产环境的一致性。

4. Docker提供快速、高效的开发生命周期:Docker的目标之一是缩短代码从开发、测试到部署、上线运行的周期,是应用具有可移植性。

5. Docker鼓励面向服务的架构和微服务架构:Docker推荐单个容器只运行一个应用程序或者进程,这样就行程了一个分布式的应用程序模型。

6. Docker的核心组件:

Docker客户端和服务器:Docker也是一个客户/服务器(C/S)架构的程序。Docker客户端只需要向Docker服务端或者守护进程发出请求,服务器或守护进程将完成所有工作并返回结果。具体架构见下图:

           Registry:用来保存用户的构建的镜像。Registry分为公共和私有两种。用户可以使用Docker Hub上的公共镜像,也可以在https://hub.docker.com/account/singnup/上注册自己的账号存储和分享自己的私有镜像。(也可以架构自己私有的Registry)  Docker镜像:用户基于镜像来运行自己的容器,镜像是基于联合文件系统的一种层式的结构。有一系列指令一步一步构建出来。其实,也可以将镜像看做是容器的“源代码”。镜像体积小,易于分享、存储和更新。

Docker容器:容器内可以运行一个或者多个进程。Docker借鉴了标准集装箱的概念à每个容器包含有一个软件镜像,也就是容器的货物。

7. Docker可以应用的一些场景:

加速本地开发和构建流程,使其更加高效、更加轻量化;

能够让独立服务或者应用程序在不同的环境中,得到相同的运行结果;

用Docker创建隔离的环境进行测试;

Docker可以让开发者先在本机上构建一个复杂的程序或者架构来进行测试;

构建一个多用户的平台即服务(Pass)基础设施;

为开发、测试提供一个轻量级的独立沙盒环境,或者将独立的沙盒环境用于技术教学;

提供软件即服务(Saas)应用程序;

高性能、超大规模的宿主机部署。

8. 基于和围绕Docker生态环境构建的早期项目列表:http://blog.docker.com/2013/07/docker-projects-from-the-docker-community/

9. Docker的技术组件

文件系统隔离:每个容器都有自己的root文件系统

进程隔离:每个容器都运行在自己的进程环境中

网络隔离:容器间的虚拟网络接口和IP地址都是分开的

资源隔离和分组:使用cgroup将CPU和内存之类的资源独立分配给每个Docker容器

写时复制:文件系统都是通过写时复制创建的,这就意味着文件系统是分层的、快速的,而且占用的磁盘空间更小

日志:容器产生的STDOUT、STDERR和STDIN(输入输出错误日志)这些IO流都会被收集并记入日志,用来进行日志分析和故障排错

交互式shell:用户可以创建一个伪tty终端,将其连接到STDIN,为容器提供一个交互式的shell

10.Docker资源:

Docker官网:http://www.docker.com/

Docker Hub:http://hub.docker.com

Docker 官方博客:http://blog.docker.com/

Docker 官方文档:http://docs.docker.com/

Docker 快速入门指南:http://www.docker.com/tryit/

Docker 的GitHub源代码:http://github.com/docker/docker

Docker Forge:http://github.com/dockerforge 收集各种Docker工具、组件和服务

Docker 邮件列表:http://groups.google.com/forum/#!forum/docker-user

时间: 2024-08-02 10:57:05

《第一本Docker》笔记(一)之Docker简介的相关文章

Docker笔记

简介 Docker 是 dotCloud 最近几个月刚宣布的开源引擎,旨在提供一种应用程序的自动化部署解决方案,简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续部署.集群.测试环境.面向服务的云计算.虚拟桌面 VDI 等等.

【docker】01、docker简介

一.docker简介 Docker 官网:http://www.docker.com Github Docker 源码:https://github.com/docker/docker 1.docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 i

Docker笔记三 Docker镜像制作

Docker笔记三 Docker镜像制作 1.Docker镜像制作方法: docker commit 保存当前container的状态到镜像,生成image. docker build 利用dockerfile自动化生成image. 2.制作方法 docker commit方式 #启动镜像名称为centos的一个容器(container)  [[email protected] ~]#docker run -it centos /bin/bash #在容器内安装httpd服务 [[email p

[转载] docker笔记

原文: http://opskumu.github.io/docker.html docker的文章很多, 也不乏精品, 本文的好处在于作者不仅仅整理了自己对docker的理解, 还引用了很多经典的docker文献, 对于由浅入深的理解docker非常有帮助 一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docker Hub Docker 使用客户端-服

[docker] 02 CentOS安装docker(包含失败),安装命令简介,以及docker核心概念

主要内容: 一.安装docker(包含卸载重新安装) 二.配置docker服务 三.安装命令简介 四.docker核心概念 一.安装docker 1.1. 通过uname -r查看系统版本,为什么要查看系统版本呢?因为docker对CentOS有以下要求: a. CentOS 7及以后的版本 b. 64位操作系统 c. 内核版本至少3.10 1.2. 支持devicemapper存储类型 sudo yum update sudo yum install -y device-mapper-pers

docker笔记-docker-basic

1Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC)等技术.Docker 和传统虚拟化方式的不同之处,在于docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现. 2Docker 镜像就是一个只读的模板.容器是从镜像创建的运行实例.它可以被启动.开始.停止.删除.每个容器都是相互隔离的.保证安全的平台. 3 centos上安装启动安装:$ sudo yum install docker

Docker学习笔记(4) — 开启Docker远程访问

默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进程本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作. 如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信. 修改Docker服务启动配置文件,添加一个未被占用的端口号,重启docker守护进程. # vim /etc/default/docker DOCKER_OPTS="-H 0.

docker 学习笔记20:docker守护进程的配置与启动

安装好docker后,需要启动docker守护进程.有多种启动方式. 一.服务的方式 因为docker守护进程被安装成服务.所以,可以通过服务的方式启停docker守护进程,包括查看状态. sudo start docker  //启动 sudo stop docker  //停止 sudo status docker  //查看状态 二.利用docker daemon命令 sudo docker daemon 利用sudo ps -A 可以获取守护进程的进程号 三.让远程api可以访问dock

docker 笔记(基本概念、快速运行、自定义镜像)

1.docker docker是一个打包应用的工具 非常强大,能把操作系统也打在包里,进行无差别部署和运行. 所以docker也被认为是建立在操作系统上的虚拟机. 2.基本概念 镜像(image): 类似操作系统的镜像,包括一个完整可运行的系统,操作系统.基础组件.应用程序都可以打包在一个镜像中. 容器(container): 容器是某一个docker镜像的执行实例,可以启动.关闭.删除,可以理解成正一个linux系统,同一台机器上的多个container互相隔离. 3.简单使用 #安装dock

Docker学习笔记三:Docker部署Java web系统

Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux