Linux容器运行时Docker开源
摘要:Docker是一个云计算平台,它利用Linux的LXC、AUFU、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,其最终的目标是实现类似PaaS平台的应用隔离。
Docker是一个功能强大的自动化分布式系统:大规模的Web部署、数据库集群、持续部署系统、私有PaaS、面向服务的体系结构等。Docker使用一个在进程级上运行的高级API来补充LXC(Linux Container),它可以运行Unix进程,并为隔离和可重复性跨服务器提供了保证。
值得关注的特性:
- 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
- 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
- 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
- 日志:收集和记录标准流(stdout/stderr/stdin)里的每个进程容器,用于实时和批量检索。
- 变更管理:被修改的容器文件系统会被提交到一个新的image,留着重用来创造更多的容器,无需模板或手动配置。
- 交互式shell
使用示例:
运行交互式shell
# Download a base image docker pull base # Run an interactive shell in the base image, # allocate a tty, attach stdin and stdout docker run -i -t base /bin/bash启动一个长期运行的工作进程
# Run docker in daemon mode (docker -d || echo "Docker daemon already running") & # Start a very useful long-running process JOB=$(docker run -d base /bin/sh -c "while true; do echo Hello world; sleep 1; done") # Collect the output of the job so far docker logs $JOB # Kill the job docker kill $JOB前往官网查看更多详细介绍:http://docker.io/
- 0
- 顶一下