博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker理解
阅读量:7039 次
发布时间:2019-06-28

本文共 1219 字,大约阅读时间需要 4 分钟。

近期一直在研究Docker,感悟颇深,和大家分享一下Docker 在云计算中的应用和Docker的原理。

Docker 用法

  • Docker 是什么?有哪些用途?
    • 我的理解就是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
  • 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限制。
    可通过运行时加–sysctl实现,但是它的改动也会造成宿主机也跟着被改,所以直接改宿主机也可以实现。

 

转载于:https://www.cnblogs.com/MaAce/p/7755709.html

你可能感兴趣的文章
2016年深圳市服务业占GDP比重首次突破六成
查看>>
Oracle基础(四)pl/sql
查看>>
Woody的Python学习笔记2
查看>>
虚函数相关问题分析
查看>>
js代码从页面移植到文件里失效或js代码改动后不起作用的解决的方法
查看>>
java点滴之volatilekeyword特性
查看>>
python 回溯法 子集树模板 系列 —— 13、最佳作业调度问题
查看>>
java位运算应用
查看>>
Gulp自动化构建工具的简单使用
查看>>
[Java开发之路](6)File类的使用
查看>>
less01
查看>>
P3373 【模板】线段树 2 区间求和 区间乘 区间加
查看>>
不用asp.net MVC,用WebForm照样能够实现MVC
查看>>
更进一步
查看>>
iOS CoreData介绍和使用(以及一些注意事项)
查看>>
项目管理——任务分配闲谈
查看>>
MySQL数据库设置远程访问权限方法小结
查看>>
PS使用技巧
查看>>
【Linux】 CentOS7 虚拟机配置
查看>>
打造属于自己的支持版本迭代的Asp.Net Web Api Route
查看>>