首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Docker:带给现代开发人员的福利(1)基础

Docker:带给现代开发人员的福利(1)基础

就像是用于 DevOps                的一把瑞士军刀,这一点已得到充分证明。但 Docker 托管的应用程序容器的用途不仅是在云中部署服务器。Docker                容器还可以在许多常见的开发场景中帮助开发和显著提高生产力。本教程将重点介绍 Docker,了解从开发人员角度讲它有何用途。我将介绍                Docker,解释基本概念和术语,并提供一系列实际的开发示例。
您会看到:
  • Docker 可以可简化 Node.js Web 应用程序编码。
  • 您可以使用 Docker 在 Apache Tomcat 服务器上快速创建和测试 Java™ Enterprise                    Edition (Java EE) 应用程序。
  • Docker 可以通过 Bottle 框架加快 Python Web 应用程序的编码、测试和开发。
  • 您可以通过使用一个 Docker 容器,在几分钟内创建并测试一个具有 NoSQL 数据库后端的完整的三层 Node.js                    应用程序。
Docker、golang 和 Bluemix阅读配套教程 “ ”,将您的多语言探索扩展到 Go                    编程语言。另外,了解通过 IBM Containers for Bluemix 将 Docker 化的三层应用程序部署到                    Bluemix™ 有都没容易。

您可以在单个 Linux 系统上获得所有这些收益,而不会妨碍任何预设的配置。在了解一些示例后,您就能够轻松地运行各种 Docker                容器来提高日常开发工作流中的生产力。
Docker 基础Docker                是一个容器管理器。容器将应用程序和它的依赖项捆绑在一起。您从一个存储在存储库中的镜像实例化每个容器,在主机操作系统内隔离的虚拟化环境中运行容器。因为虚拟化技术(通常)是轻量型的,所以您可以同时运行多个容器:
理解基本术语了解镜像与容器之间的区别很重要。这两个概念紧密相关,但初学者常常难以了解它们之间的区别。
镜像 是一个静态的层集合。没有任何运行时行为与镜像关联。镜像存储在存储库中(例如  )。
容器 是一个从镜像启动的运行实例。尽管容器可以停止(并在此盘上临时冻结其状态),但它仍是一个容器。
潜在的混淆源于一个事实,那就是通过提交和保存容器,您可以将容器转换为镜像。在这种情况下,您可以将得到的镜像想作是运行的容器的 “冻干                    (freeze-dried)” 版本。

您可以使用 Docker 容器管理器执行以下操作:
  • 从镜像运行容器
  • 检查和操作运行的容器的属性
  • 停止运行的容器
  • 在运行的容器内执行额外的任务
  • 启动或重新启动运行的容器
  • 执行其他许多管理任务
容器化的应用程序几乎可以在任何地方运行:桌面 PC 上、服务器上、公共云中,甚至是在一些移动电话上。
Linux 目前是得到最广泛使用和支持的 Docker 平台。Docker 所管理的容器化(轻量型虚拟化)技术在 Linux                平台上最成熟,使用了最新的 Linux 特性,比如   和  。
如何运行 Docker您可以通过 docker 命令行客户端来运行 Docker                容器管理器,该客户端有许多可用的开关和选项。这是运行容器化应用程序镜像(在这个例子中是 MySQL 数据库)的一个简化的命令:
1
docker run -d mysql:5.5




Docker 项目运行着可公开访问的  。用户可以注册并创建自己的容器化应用程序镜像存储库,然后推送镜像来供大家共同使用。例如,您可以找到 Tomcat                服务器、Node.js 和大多数流行的开源数据库的镜像。Docker Hub 的操作理念与   相同,因为应用程序镜像是全球 DevOps                和开发人员社区共享和协同创建的。
举例而言,运行 docker run -d mysql:5.5 命令时,如果还没有将                mysql(5.5 版)容器化应用程序镜像存储在本地,就会自动从 Docker Hub 拉取(下载)它。
构建容器化应用程序镜像还可以使用 docker 命令行客户端来构建容器化应用程序镜像。一种方式是从 Dockerfile                构建镜像 — 一个包含如何安装、设置和配置一个应用程序和它的依赖项的说明的文本文件。
使用 docker                命令行客户端构建容器化镜像的另一种方法是以交互方式设计它们。您在一个运行的容器内手动安装和配置一个应用程序和它的依赖项,然后提交容器并保存为镜像。
一个 Docker 镜像包含一些层,每层大体相当于在安装一组应用程序期间写入磁盘的更改。Docker                管理这些层,并帮助在添加或删除这些镜像时高效地存储和重用。举例而言,一个 mysql 镜像中的层可能包含 Linux                操作系统、Perl、共享库、MySQL 安装和一种基本的 MySQL 配置:
从 Dockerfile 构建容器化镜像或设计自定义容器时,通常不会从头开始。相反,您的工作以现有的                Dockerfile 或一个来自 Docker Hub                的镜像为基础。这样,开发人员和操作人员就能够以彼此的工作为基础,协同创建和管理一组有用的镜像。
将镜像发送到镜像存储库(比如 Docker Hub)的命令是 docker push。下载镜像以供本地使用的命令是                docker pull。
返回列表