Docker理解
近期一直在研究Docker,感悟颇深,和大家分享一下Docker 在云计算中的应用和Docker的原理。
Docker 用法https://yeasy.gitbooks.io/docker_practice/content/
- Docker 是什么?有哪些用途?
- https://yeasy.gitbooks.io/docker_practice/content/introduction/what.html我的理解就是Docker提供简化版linux系统,它和宿主机使用同一内核 我们可以用
uname -a去查看。 也就是说内核空间和宿主机相同,但是用户空间和宿主机不同,大家可以进入docker bash 看一下 里面也提供了类似Linux 根文件系统的结构,也有依赖库,一些可执行文件。我的理解就是Docker image 提供的容器就是一个根文件系统,类似chroot 方式进入这个文件系统,但是docker它提供了更强大的网络,分层机制。至于Docker 的用途很多,用于云计算,和web部署都十分方便,只需要提供一个自己做好的docker image就行了,其实就是一个根文件系统。docker run -it --rm test bash
bash-4.3# ls
bin etc lib mnt root sbin sys usr
dev home media proc run srv tmp var
- https://yeasy.gitbooks.io/docker_practice/content/introduction/what.html我的理解就是Docker提供简化版linux系统,它和宿主机使用同一内核 我们可以用
Docker镜像与容器
Docker镜像是指从Docker hub上pull下来的image,当你run这个image的时候就形成了一个容器,容器是镜像的产生物,我们可以将容器的改动commit到镜像,否则容器内的改动不会影响镜像,也可以通过Dockerfile实现。Pull下来的docker 镜像放哪里了?
一般都放在/var/lib/docker/aufs/mnt里面,pull下来后就被解压,它是分层存储的,每次的commit都在不同的层。Docker 性能怎么样?
我试过11万连接的Websocket server 和 nginx server 都没有什么问题,docker也可以限制内存和cpu的使用量。Docker 性能限制问题
对于内核参数sysctl 配置,进入容器后发现根本就改不了,因为它挂载在一个只读分区上,方法就是run的时候加上–sysctl 和 –ulimit 参数或者就是加上–privileged 特权进入修改。主要限制就是文件描述符--ulimit nofile=500000:500000即可解决,但是实际情况就是即使你设置再大 连接数量就只能是65535个,这里还有一个十分重要的内核参数net.ipv4.netfilter.ip_conntrack_max = 65536这个默认是65536 这个意思说内核对连接进行跟踪,内核会建立相关结构去保存这些连接状态,把这个值改大一些就能解决65535限制。https://github.com/docker/docker/issues/29875
可通过运行时加–sysctl实现,但是它的改动也会造成宿主机也跟着被改,所以直接改宿主机也可以实现。
Docker理解的更多相关文章
- 开发者的利器:Docker 理解与使用
困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...
- Docker理解与使用(转)
2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单 ...
- Docker——理解好镜像和容器的关系
关注公众号,大家可以在公众号后台回复“博客园”,免费获得作者 Java 知识体系/面试必看资料. 镜像也是 docker 的核心组件之一,镜像时容器运行的基础,容器是镜像运行后的形态.前面我们介绍了 ...
- docker学习(三) - docker理解及命令
Docker 包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository) 镜像 Docker 镜像就是一个只读的模板. 例如:一个镜像可以包含一个完整的 ubunt ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- Docker部署SDN环境
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...
- Docker And Swarm Mode(一)
(一)节点的创建和配置 前言 虽然工作中一直在用Docker和Docker Swarm,但是总感觉有点陌生,总想自己亲手来写写和配置Docker 容器相关的事情,这篇文章主要是参考了Los Tech ...
- 七、Java多人博客系统-2.0版本-docker部署
docker是当下很热门的技术,是对之前的部署系统方式的彻底改变.之前部署系统,需要安装数据库.初始化数据库,安装jdk,配置jdk,部署应用程序,修改配置文件等,很繁琐.一般现场运维人员很难搞定,现 ...
- docker 搭建 web 服务环境
docker容器虽然早就听说过,但是本人还真的没去用过,刚好看到相关的文章,就分享了下,有机会可以实践下...... 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都 ...
随机推荐
- Android 自定义View实现QQ运动积分抽奖转盘
因为偶尔关注QQ运动, 看到QQ运动的积分抽奖界面比较有意思,所以就尝试用自定义View实现了下,原本想通过开发者选项查看下界面的一些信息,后来发现积分抽奖界面是在WebView中展示的,应该是在H5 ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- Angular5.0.0新特性
文章来自官网部分翻译https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced Angular5.0.0版本 ...
- Visual paradigm软件介绍
Visual paradigm软件介绍 说起Visual Paradigm你可能并不陌生,因为此前有一款功能强大的UML软件叫Visual Paradigm for UML,在这款软件在v11.1的时 ...
- Leetcode题解(十八)
51.N-Queens ---------------------------------------------------------------------------------分割线---- ...
- OR in Matrix
OR in Matrix Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submi ...
- C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍
C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 在现今软件系统纷纷"云化"的浪潮下,各种支持" ...
- Python函数篇:装饰器
装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理. ...
- java面试题及答案
JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...
- java变量与内存深入了解
========================================================================================= 在我看来,学习jav ...