docker概述

docker概述

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化,容器是完全使用沙盒机制,
相互之间不会有任何接口(类似iphone的app) 几乎没有性能开销
docker是dotCloud公司开源的一个基于LXC的高级容器引擎,基于go语言并遵从Apache2.0协议开源
docker让开发者可以打包它们的应用以及依赖包到一个可移植的container中,然后发布到任意流行的linux机器中

特点

  • 不依赖任何语言,框架或系统
  • docker镜像一次编译,到处运行

沙盒

沙盒也叫沙箱,英文sandbox,在计算机领域值一种虚拟技术,且多用于计算机安全技术,安全软件可以先让他在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害

lxc

lxc为linux container的简写,linux container容器是一种内核虚拟化技术
可以通过轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性
lxc主要通过来自kwenel和namespace实现每个用户实例之间的相互隔离,通过cgroup实现对资源的配额和度量
namespace 实现container的进程网络消息文件系统和主机名的隔离

docker容器技术和虚拟机对比

  • 相同点,docker容器技术和虚拟机技术,都是虚拟化技术
  • docker相对于vm虚拟机,少了虚拟机操作系统这一层,所以docker效率比虚拟机高

docker架构

  • 工作流程

服务器a上运行decker engine 服务,在deocker engine上启动很多容器container,
从外网docker HUB上把image操作系统镜像下载下来,放到container容器上运行,这样一个容器的实例就运行起来了

  • 通过Docker client对docker容器虚拟化平台进行控制
  • image和container的关系,image可以理解为一个系统镜像,container是image在运行时的一个状态
  • docker HUB是docker官方的镜像存储站点,其中提供了很多常用的镜像供用户下载,

docker用于应用程序是最有用的, 但并不包含数据
日志,跟踪和数据库等,它们通常放在docker容器外,

一个容器的镜像通常很小,不适合存大量数据
存储可以通过外部挂载的方式使用,
比如使用nfs, ipsan, mfs, -v磁盘映射分区

总之说的直白点

docker只负责计算,存储交给别人

oracle不适合使用docker来运行,太大了,存储的数据太多

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值