分类 容器 下的文章

Docker入门教程

【编者的话】DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了Docker的基础概念以及Docker的安装。

Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere(译者注:这个就不翻译了,翻译出来味道就没了)”。本文是Flux7的Docker系列教程的第一部分。请和这份教程一起学习和理解Docker有什么优势以及如何更好地使用它。

让我们一起来学习Docker。

本文主要涉及Docker的基础知识:Docker的特征、理念以及如何安装使用Docker。

Docker有不少有趣的功能,通过本教程相信你会更好地理解它们。Docker的特性主要包括以下几点:

Docker有三个组件和三个基本元素,读者可以快速浏览下面这个视频来了解这些组建和元素,以及它们的关系。三个组件分别是:

三个基本要素分别是:

image-1.png

在讨论Docker组件和基本要素如何交互之前,让我们来谈谈Docker的支柱。Docker使用以下操作系统的功能来提高容器技术效率:

运行任何应用程序,都需要有两个基本步骤:

这些步骤都是从Docker Client的命令开始的。Docker Client使用的是Docker二进制文件。在基础层面上,Docker Client会告诉Docker Daemon需要创建的镜像以及需要在容器内运行的命令。当Daemon接收到创建镜像的信号后,会进行如下操作:

如前所述,Docker Image是一个构建容器的只读模板,它包含了容器启动所需的所有信息,包括运行程序和配置数据。

阅读全文

Docker 教程

Docker支持以下的CentOS版本:

CentOS 6.5 (64-bit) 或更高的版本

目前,CentOS 仅发行版本中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

安装完成。

启动 Docker 后台服务

测试运行 hello-world

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

1、使用 sudoroot 权限登录 Centos。

2、确保 yum 包更新到最新。

3、执行 Docker 安装脚本。

执行这个脚本会添加 docker.repo 源并安装 Docker。

4、启动 Docker 进程。

5、验证 docker 是否安装成功并在容器中执行一个测试的镜像。

到此,docker 在 CentOS 系统的安装完成。

Docker 引擎使用的是 Linux 内核特性,所以我们需要在 Windows 上使用一个轻量级的虚拟机 (VM) 来运行 Docker。

我们通过 Boot2Docker 来安装虚拟机和运行 Docker

阅读全文

Docker安装配置教程

首先需要介绍一些名词。

虽然 Docker 这架构看上去和虚拟机很像,但其实它只是一个运行在宿主机器的隔离的进程,所以对性能的损耗是很小的。

接着就开始使用 Docker 吧。

先来看看我们的 Docker 信息:

里面会列出 container 和 image 的数量,宿主机器的操作系统,还有 CPU 核数与内存大小等。

然后起个 Ubuntu 的容器登上去看看吧:

再来看看有哪些容器在运行:

于是再启动那个容器吧:

然后再次登上去(不能再用 run 命令了,否则会新建一个容器):

这两条命令可以用一条代替:

如果退出 attach 的那个 shell 的话,容器就会停止了,exec 执行的 bash 也会被终止。

现在这个 Ubuntu 的容器对我来说没用了,可以删掉了:

如果你玩得很 high,发现有一大堆退出的容器,一个个删除就太麻烦了,可以这样删:

Docker 的基本操作大概就这么多了。

把它保存成 Dockerfile 文件后,就可以开始构建了:

漫长的等待后,镜像就生成好了。列出我们现有的镜像看看:

可以看到我们的镜像建好了,镜像大小快 500 MB 了……

先不管这个,我们运行下试试:

然后访问下首页(http://宿主机 IP:8080/),发现挂掉了,原因是没有 Redis。

在 Docker 上跑一个 Redis 也是很简单的,不过我不希望它暴露在公网上,所以就把它放在一个私有网络里吧:

而为了更好的利用缓存,建议前面的语句尽量是不会更改的。而操作系统的镜像要指定版本号,也是为了避免 latest 升级时,不会相应地变化。

阅读全文