Giter VIP home page Giter VIP logo

docker_learning's People

Watchers

 avatar  avatar

docker_learning's Issues

Docker核心实现技术

命名空间

  • 在操作系统中,包括内核、文件系统、网络、PID、UID、IPC、内存、硬盘、CPU等资源,所有的资源都是应用进程直接共享的。要想实现虚拟化,除了要实现对内存、CPU、网络IO、硬盘IO、存储空间等的限制外,还要实现文件系统、网络、PID、UID、IPC等的相互隔离。前者相对容易实现一些,后者则需要宿主主机系统的深入支持
  • 随着Linux系统对于命名空间功能的逐步完善,现在已经可以实现上述需求,达到进程在彼此隔离的命名空间中运行:这些进程仍在共用同一个内核和某些运行时环境(Runtime environment,例如一些系统命令和系统库),但是彼此是不可见的,并且认为自己是独占系统。
  • 有了pid 命名空间,那么每个命名空间中的进程就可以相互隔离
  • 网络端口本身是共享本地系统的端口,因此还需要网络命名空间实现网络隔离,Docker采用**虚拟网络设备(Virtual Network Device)**的方式,将不同命名空间的网络设备连接到一起。默认情况下,容器中的虚拟网卡将同本地主机上的docker0网桥连接在一起
  • 容器中的进程交互还是采用了Linux常见的进程间交互方法,包括信号量、消息队列和共享内存等

Docker Images存储位置

  • /var/lib/docker/image/aufs/repositories.json
{"Repositories":{"apolloauto/apollo":{"apolloauto/apollo:dev-Nvidia":"sha256:6c26075ad2b05df226965fda9f77af5cb7fc30d8029e5fcb444644fe1c6ec017","apolloauto/apollo:dev-Nvidia-driver":"sha256:e67f10db2e7caecab80525ca78d6744609193b29fd2a2296cfdda558b2c0b5ea","apolloauto/apollo:dev-x86_64-20171204_1625":"sha256:282c24a8f78febe7622922d53610fb74ef7ef8a98e4ad297acf956b002bfd966","apolloauto/apollo@sha256:f72f5b103d6c481970753dd1b2565e0c1ac401143247f63761fd511344db6266":"sha256:282c24a8f78febe7622922d53610fb74ef7ef8a98e4ad297acf956b002bfd966"}}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.