前言

与其他领域相比,开源开发环境的变化速度最快。随着GitHub 的出现,贡献代码的门槛正变得越来越低。我们也可以灵活使用Git 这一分布式版本管理系统对著名项目进行派生(fork),然后构建自己的项目。

服务器开发及运营环境中,用于隔离目录的chroot 或在Linux 内核级别实现容器的LXC 技术出现已久,但未能得到广泛应用。此时,Docker 利用GitHub 的共享模型构建了极为便利的平台。

与从GitHub 派生项目一样,借助Docker,用户也可以基于Docker Hub 中的镜像创建并分享自己的镜像。包括主要开源项目的官方镜像在内,其他用户上传的镜像以及自己上传的镜像都可以在全世界范围内共享使用,令人十分惊叹。这种统一接口并将数据集中存放的做法将效率提高到超乎想象的地步。

Linux 与生俱来的局限性是可执行文件与库之间的兼容性问题。针对该问题,多个Linux 发行版推出了固有的包系统,但仍然无法完美解决。Docker 将应用程序或服务中可运行状态的组合用容器捆绑在一起,再通过网络共享。使用Docker 可以帮助Linux服务器管理员大大缩短在系统构建与管理上浪费的时间,也不会再烦恼编译安装后无法完全删除。

灵活使用Docker 可以帮助用户脱离从属于特定云平台的环境,只要愿意,就可以从Amazon Web Service 轻松迁移到Google Cloud Platform 以及Microsoft Azure 平台。使用Docker 镜像无需逐一搭建Linux 服务器,只要使用原有的Docker 镜像即可。无论何时都可以轻松转向费用更低、条件更好的服务。

本书并未涵盖Docker 的所有内容。Docker 目前仍在发展,新的应用方法层出不穷。Docker 并不是一款固定不变的产品,其与多种程序的不同组合会产生无穷无尽的应用方法。因此,与其介绍目前出现的所有应用方法,不如先熟练掌握Docker 的基本使用方法,不断创建服务并深入探索。

Docker 将服务器开发与运营带入一片全新的天地,下面请随我感受Docker 的无尽魅力吧!

李在弘

2014 年11 月

目录

  • 前言
  • 第1章 Docker
  • 第2章 安装Docker
  • 第3章 使用Docker
  • 第4章 创建Docker镜像
  • 第5章 查看Docker 
  • 第6章 灵活使用Docker
  • 第7章 详细了解Dockerfile
  • 第8章 使用Docker部署应用程序
  • 第9章 Docker监控
  • 第10章 在Amazon Web Services中使用Docker
  • 第11章 在Google Cloud Platform中使用Docker
  • 第12章 使用Docker Hub
  • 第13章 使用Docker Remote API 
  • 第14章 使用CoreOS
  • 第15章 使用Docker搭建WordPress 博客
  • 第16章 使用Docker构建Ruby on Rails应用
  • 第17章 使用Docker构建Django应用
  • 第18章 Docker应用案例
  • 第19章 Docker命令与选项列表