Docker

Linux容器运行时Docker开源

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/

源码托管地址:https://github.com/dotcloud/docker/

相关推荐