Docker核心概念
Docker是基于Go语言实现的云开源项目,诞生于2013年,docker项目目前以加入Linux基金会,遵循Apache2.0协议,全部开源代码均在http://github.com/docker/docker上进行维护。docker的主要目标是:“Build, Ship and Run Any App, Anywhere”, 即通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。
Docker引擎的基础是基于Linux容器(LXC)技术,即容器有效的将由单个操作系统管理的资源划分到孤立的组中,以便更好地在孤立的组之间平衡有冲突的资源使用需求。
docker可以高效的创建应用。
Docker在运维中的优势:
1.更快的交付和部署。使用docker,开发人员可以使用镜像来快速构建一套标准的开发环境,开发完成之后,测试和运维人员可以直接使用相同的环境来部署代码,Docker可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间,并且,各个步骤都有明确的配置和操作,整个过程全程可见,使团队更容易理解应用的创建和工作过程。
2.更高效的资源利用。Docker容器的运行不需要额外的虚拟化管理程序(VMM)支持,它是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。
3.更轻松的迁移和扩展。Docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。这种兼容性让用户可以在不同的平台之间轻松的迁移应用。
4.更简单的更新管理。使用dockerfile, 只需要小小的配置修改,就可以替代以往大量的更新工作。并且所有修改都以增量的方式进行分发和更新,从而实现自动化并且高效的容器管理。
Docker核心概念
1、镜像:类似于虚拟机镜像,可以理解为面向docker引擎的只读模板,包含文件系统。
2、容器:
docker容器类似于一个轻量级的沙箱,利用容器可以实现运行和隔离应用。
容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是互相隔离、互不可见的。
读者可以把容器看做一个简易版的Linux系统环境(这包括root用户权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序打包而成的应用盒子。
镜像自身是只读的。容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。
3、仓库:
类似于代码仓库,是集中存放镜像文件的场所。其管理理念和git十分相似。
Docker数据管理
数据卷:可以供容器使用的特殊目录,绕过文件件系统,具有以下特性:
数据卷可以在容器之间共享和重用;
对数据卷的修改会立马生效;
对数据卷更新,不会影响镜像;
卷会一直存在,直到没有容器使用。
在容器内创建一个数据卷:(-v 挂载一个本地主机文件目录作为数据卷)
docker run -d -p --name web -v /src/webapp:/opt/webapp training/webapp python app.py
数据卷容器:
docker run -it -v /dbdata --name dbdata ubuntu
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu
利用数据卷容器迁移数据:
数据备份:
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata
数据恢复:
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
- [Docker]核心概念
- Docker学习笔记(一):基础概念与核心原理
- docker第一章:docker核心概念及centos6下安装
- Docker的核心概念
- Docker的三大核心概念-01
- 二、Docker——核心概念及常用命令
- 跟我一起学docker(二)--核心概念和安装
- Docker基础教程——介绍及核心概念
- 30分钟玩转Docker系列课程2---Docker核心概念
- Docker核心概念
- Docker快速入门(1)——核心概念介绍
- Docker基础教程——介绍及核心概念
- 从操作系统进程概念演进出发理解docker的核心原理
- Docker核心概念
- docker swarm核心概念
- 2 Docker 核心概念
- Docker概念学习系列之详谈Docker 的核心组件与概念(5)
- docker第一章:docker核心概念及centos6下安装
- docker三大核心概念
- 5分钟学会Docker核心概念、安装、端口映射及常用操作命令