Docker基本概念和框架

简介:

Docker简介


启动Docker容器:

wKioL1jCa8aSDtLkAAQpDoPCWHQ204.png

什么是容器?

  • 一种虚拟化的方案

  • 操作系统级别的虚拟化

  • 只能运行相同或相似内核的操作系统

  • 依赖于Linux内核特性:Namespace和Cgroups(Control Group)


容器技术优点:

  • 占用磁盘空间小

  • 资源占用小

  • 对CPU、内存资源消耗小

wKiom1jCbLPTOe1iAAERmX6iMrE621.png

什么是Docker?

  • 将应用程序自动部署到容器

  • Go 语言开源引擎 Github地址:https://github.com/docker/docker

  • 2013年初 dotCloud

  • 基于Apache2.0 开源授权协议发行


Docker的目标

  • 提供简单轻量的建模方式

  • 职责的逻辑分离

  • 快速高效的开发生命周期

  • 鼓励使用面向服务的架构


Docker的使用场景

1、使用Docker容器开发、测试、部署服务。

2、创建隔离的运行环境

3、搭建测试环境

4、构建多用的平台即服务(PaaS)基础设施

5、提供软件即服务(SaaS)应用程序

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


例如:

1、腾讯万台规模的Docker应用实践



Docker的基本组成


  • docker client客户端

  • docker daemon守护进程

  • docker image 镜像

  • docker container 容器

  • docker registry 仓库

 

Docker客户端/守护进程

  • c/s架构

  • 本地/远程


Docker Image 镜像

  • 容器的基石

  • 层叠的只读文件系统

  • 联合加载(union mount)

wKiom1jKMmHhV7MfAACDsA2dTRw508.png

Docker  Container 容器

  • 通过镜像启动

  • 启动和执行阶段

  • 写时复制(copy on write)

wKiom1jKM2bD-q2gAABkQc9klXo188.png

Docker Registry仓库

  • 公有

  • 私有

  • docker Hub

wKiom1jPTMWgI1HoAAEv5vP2jjE297.png

docker version 查看docker版本

docker search tutorial 查找tutorial镜像

docker pull learn/turorial 从仓库下载镜像到本地

docker run learn/turorial echo ‘ hello word’

docker run learn/turorial apt-get install -y ping  在容器中安装ping命令

docker ps -l 查看容器

docker commit 69822a9948422 learn/ping 将修改的容器提交

docker run learn/ping ping www.google.com 运行镜像

docker ps  查看你当前镜像

docker inspect efefdc74ald5 查看你运行中的容器

docker image 查看镜像

docker push learn/ping 将镜像保持到docker hub仓库上

wKiom1jPpejw7V5pAAUWkgoezoI266.png

wKioL1jPpevgknRtAAScMESEx5I605.png

wKiom1jPpezDqAxyAAP0sA3EXrA019.png

wKioL1jPpe7QEPDsAAQSbc_JXC0848.png




Docker容器相关技术简介

Docker依赖的Linux内核特性

  • Namespaces 命名空间

  • Control groups (cgroups)控制组

wKiom1jPp6SBC-7iAACL3-SnqS4661.png

wKiom1jPp9WTTJfQAAFTEoIX5AI966.png

wKioL1jPqCvSDI9LAAB1EEQSWjs231.png

wKioL1jPqJqzbqCeAABj5cXIFuY601.png

wKiom1jPqJujkn1AAAGHytZFIuA257.png


Docker源码分析:http://www.infoq.com/cn/articles/docker-source-code-analysis-part1/










本文转自 yard521 51CTO博客,原文链接:http://blog.51cto.com/tangyade/1905232,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
存储 持续交付 Docker
Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
42 0
|
5月前
|
机器学习/深度学习 算法 计算机视觉
3D目标检测框架 MMDetection3D环境搭建 docker篇
本文介绍如何搭建3D目标检测框架,使用docker快速搭建MMDetection3D的开发环境,实现视觉3D目标检测、点云3D目标检测、多模态3D目标检测等等。
126 0
|
6月前
|
存储 Kubernetes 持续交付
Docker 核心概念深度解析:探索容器、镜像和仓库在Docker生态系统中的重要作用和 应用
Docker 核心概念深度解析:探索容器、镜像和仓库在Docker生态系统中的重要作用和 应用
131 0
|
1天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
1月前
|
存储 Kubernetes 虚拟化
Docker相关的概念
Docker相关的概念
14 0
|
1月前
|
存储 测试技术 开发者
Docker的基本概念和优势,以及实际应用场景
Docker的基本概念和优势,以及实际应用场景
|
2月前
|
测试技术 持续交付 数据库
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
57 0
|
3月前
|
弹性计算 运维 Java
【Docker容器精解篇 】深入探索Docker技术的概念与容器思想
【Docker容器精解篇 】深入探索Docker技术的概念与容器思想
113 0
|
3月前
|
存储 持续交付 Docker
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
25 0
|
3月前
|
存储 持续交付 Docker
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。