Docker技术原理和实操

简介: Docker技术原理和实操

一、进程分组之CGroup  

CGroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组 (process groups) 所使用的物力资源 (如 cpu memory i/o 等等) 的机制。2007 年进入 Linux 2.6.24 内核,CGroups 不是全新创造的,它将进程管理从 cpuset 中剥离出来。简单来说CGroup 是将任意进程进行分组化管理的 Linux 内核功能

 

CGroup 相关概念解释

任务(task)。在 cgroups 中,任务就是系统的一个进程;

控制族群(control group)。控制族群就是一组按照某种标准划分的进程。Cgroups 中的资源控制都是以控制族群为单位实现。一个进程可以加入到某个控制族群,也从一个进程组迁移到另一个控制族群。一个进程组的进程可以使用 cgroups 以控制族群为单位分配的资源,同时受到 cgroups 以控制族群为单位设定的限制;

层级(hierarchy)。控制族群可以组织成 hierarchical 的形式,既一颗控制族群树。控制族群树上的子节点控制族群是父节点控制族群的孩子,继承父控制族群的特定的属性;

子系统(subsystem)。一个子系统就是一个资源控制器,比如 cpu 子系统就是控制 cpu 时间分配的一个控制器。子系统必须附加(attach)到一个层级上才能起作用,一个子系统附加到某个层级以后,这个层级上的所有控制族群都受到这个子系统的控制。

 

二、资源隔离之  namespace

ns 本身其实比较简单,它是 Linux 内核的一种机制,给进程隔离和虚拟化内核资源用的。


不同的进程是共享内核资源的。好比说大家住在同一个小区,虽然到家后关起门来谁都不影响谁。但公共场所就没办法了,如果有人破坏环境,那么势必会影响到其他人。

 

三、Docker网络

 

四、Docker实操

把jar导入docke容器

docker load -i xxx.tar

查看运行的容器

docker ps -a(/usr/local/bin/docker-compose ps)

开启docker

/usr/local/bin/docker-compose up -d

关闭docker容器

/usr/local/bin/docker-compose down -v

查看docker容器日志

docker   logs CONTAINER_ID

查看docker日志

docker images

参考文章:

https://blog.csdn.net/kwame211/article/details/78730705

 


目录
相关文章
|
9月前
|
jenkins Java 持续交付
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(上)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
9月前
|
jenkins 持续交付 开发工具
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(下)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
运维 Java 应用服务中间件
Docker——Dockerfile的理解 & 案例实操
Docker——Dockerfile的理解 & 案例实操
Docker——Dockerfile的理解 & 案例实操
|
关系型数据库 MySQL 数据库
基于Docker从零到一实操MySql的主从复制
我们一开始介绍了如何在docker上安装与启动mysql,以及进入mysql的后台创建数据库与表等;接着我们过了一遍如何基于docker操作mysql 主从库复制。
163 1
|
Docker 容器
docker实操安装,拿捏
本文均为本人实操整理,请勿搬运,学习交流可以随时评论---魏红斌
113 0
|
机器学习/深度学习 自然语言处理 Kubernetes
【Elasticsearch 入门公开课】在Docker环境中,实操详解 ELK 基本概念-回顾篇(2)
『Elasticsearch 入门课程23讲』目前已播出至第10讲,本周通过阮一鸣老师细致的讲解及实操,让大家了解如何通过 Docker 运行 Elasticsearch Kibana 、如何安装 Logstash 并导入数据 、对 Elasticsearch 关于索引、文档、REST API、节点、集群、分片及副本有了一个系统的了解。
8906 0
【Elasticsearch 入门公开课】在Docker环境中,实操详解 ELK 基本概念-回顾篇(2)
|
Kubernetes Docker 容器
2018 年 Docker 大事件回顾,可以在浏览器中实操的 Play with Kubernetes
随着2018年的结束,我们将回顾排名前五的最受读者欢迎的文章。今天将分享该系列的第三篇文章,Play with Kubernetes 的发布。
2208 0
|
1月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
224 93
|
4天前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
37 23
|
4天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
91 15