linux系统简述docker

docker理念

一次镜像,处处运行

基于go语言实现的项目
解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
能够使硬件、操作系统和应用程序三者之间的逻辑不变
虚拟机特点:资源占用多,冗余步骤多,启动慢
linux容器不是模拟一个完整的操作系统,而是对进程进行隔离
Docker 容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统
而传统虚拟机则是在硬件层面实现虚拟化。
与传统的虚拟机相比,Docker优势体现为启动速度快、占用体积小。

devops 开发兼运维 工种
docker优点:快速部署与交付,快捷的升级与扩缩容,简单的系统运维,更有效的计算资源利用	
docker官网: http://www.docker.com 
Docker Hub官网:https://hub.docker.com/     //安装docker镜像的仓库


docker实质上是在已运行的linux下制造一个隔离文件,docker部署在linux内核的系统上


docker部署环境需要时centos7以上,内核版本是3.8以上
cat /etc/redhat-release   //查看centos版本
uname -r     //查看内核版本

docker三要素

镜像、容器、仓库
镜像:image文件生成的容器实例,本身也是一个文件,称为镜像文件
	同一个image文件,可以生成多个同时运行的容器实例
	
容器:从面向对象的角度:docker利用容器独立运行的一个或一组应用,容器是用镜像创建的运行实例
					容器为镜像提供了一个标准、隔离的运行环境,他可以启动、停止、开始、删除
					每个容器是相互隔离的、保证安全的平台
	从镜像容器的角度:可以把容器看做是一个简易版的linux环境,和运行在其中的应用程序

仓库:集中存放镜像文件的场所
	仓库分为公开仓库和私有仓库两种形式
	最大的公开仓库是docker hub

docker平台架构

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上
然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器
容器,是一个运行时环境

Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。

docker运行的基本流程

1、用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。

2、Docker Daemon作为Docker架构中的主体部分,首先提供Docker Server的功能使其可以接受Docker Client的请求

3、Docker Engine执行Docker内部的一系列工作,每一项工作都是以一个Job的形式的存在。

4、Job 的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理动 Graph driver将下载像以Graph的形式存储

5、当需要为 Docker创建网络环境时,通过网络管理驱动Network driver创建并配置Docker容器网络环境。

6、当需要限制 Docker容器运行资源或执行用户指令等操作时,则通过Exec driver来完成。

7、Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

相关推荐

  1. linux系统简述docker

    2024-03-12 03:12:01       44 阅读
  2. linux系统Docker容器Dockerfile简单描述

    2024-03-12 03:12:01       44 阅读
  3. linux系统安装docker

    2024-03-12 03:12:01       35 阅读
  4. linux系统安装docker-compose

    2024-03-12 03:12:01       32 阅读
  5. 系统学习Docker:1_Docker简介以及2_安装Docker

    2024-03-12 03:12:01       43 阅读
  6. linux系统docker的使用命令

    2024-03-12 03:12:01       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 03:12:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 03:12:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 03:12:01       87 阅读
  4. Python语言-面向对象

    2024-03-12 03:12:01       96 阅读

热门阅读

  1. 优雅应对商业谈判中的软件质疑

    2024-03-12 03:12:01       43 阅读
  2. Nest.js总结

    2024-03-12 03:12:01       43 阅读
  3. explicit关键字详解

    2024-03-12 03:12:01       38 阅读
  4. ms office学习记录10:Excel㈣

    2024-03-12 03:12:01       42 阅读
  5. LeetCode 560 和为K的子数组

    2024-03-12 03:12:01       44 阅读
  6. LeetCode904:水果成篮

    2024-03-12 03:12:01       40 阅读
  7. 【Leetcode】top 100 子串

    2024-03-12 03:12:01       45 阅读
  8. [力扣 Hot100]Day50 二叉树中的最大路径和

    2024-03-12 03:12:01       42 阅读
  9. LaTex 笔记

    2024-03-12 03:12:01       49 阅读
  10. Docker部署的MySQL容器数据备份与导入

    2024-03-12 03:12:01       53 阅读
  11. skynet cluster集群笔记

    2024-03-12 03:12:01       39 阅读
  12. 无人机避障技术

    2024-03-12 03:12:01       35 阅读
  13. 嵌入式学习 Day 31

    2024-03-12 03:12:01       41 阅读