专栏名称: 云技术实践
关注云计算,云技术,云运维,云存储,存储,分布式,OpenStack,SDN,Ceph,虚拟化,运维,分享在云计算/虚拟化/运维项目实施中的资讯、经验、技术,坚持干货。
目录
相关文章推荐
字节跳动技术团队  ·  掘金 AI 编程社区- 人人都是 AI 编程家竞赛 ·  昨天  
字节跳动技术团队  ·  ByteBrain团队EuroSys25 ... ·  昨天  
InfoQ Pro  ·  Redis 之父:哪怕被喷我也得说,AI ... ·  2 天前  
51好读  ›  专栏  ›  云技术实践

吐血总结:最为详细的Docker入门指南

云技术实践  · 公众号  · 架构  · 2018-11-21 19:55

正文

请到「今天看啥」查看全文



Docker 的安装和使用


Docker 的安装和使用有一些前提条件,主要体现在体系架构和内核的支持上。

对于体系架构,除了 Docker 一开始就支持的 X86-64 ,其他体系架构的支持则一直在不断地完善和推进中。

Docker 分为 CE 和 EE 两大版本。CE 即社区版,免费支持周期 7 个月;EE 即企业版,强调安全,付费使用,支持周期 24 个月。

我们在安装前可以参看官方文档获取最新的 Docker 支持情况,官方文档在这里:https://docs.docker.com/install/。

Docker 对于内核支持的功能,即内核的配置选项也有一定的要求(比如必须开启 Cgroup 和 Namespace 相关选项,以及其他的网络和存储驱动等)。

Docker 源码中提供了一个检测脚本来检测和指导内核的配置,脚本链接在这里:https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh。

在满足前提条件后,安装就变得非常的简单了。

Docker CE 的安装请参考官方文档:

  • MacOS:https://docs.docker.com/docker-for-mac/install/

  • Windows:https://docs.docker.com/docker-for-windows/install/

  • Ubuntu:https://docs.docker.com/install/linux/docker-ce/ubuntu/

  • Debian:https://docs.docker.com/install/linux/docker-ce/debian/

  • CentOS:https://docs.docker.com/install/linux/docker-ce/centos/

  • Fedora:https://docs.docker.com/install/linux/docker-ce/fedora/

  • 其他 Linux 发行版:https://docs.docker.com/install/linux/docker-ce/binaries/


这里我们以 CentOS 7 作为演示。

环境准备:

  • 阿里云服务器(1 核 2G,1M 带宽)

  • CentOS 7.4 64 位


由于 Docker-CE 支持 64 位版本的 CentOS 7 ,并且要求内核版本不低于 3.10,首先我们需要卸载掉旧版本的 Docker:

  1. $ sudo yum remove docker

  2.                  docker-client

  3.                  docker-client-latest

  4.                  docker-common

  5.                  docker-latest

  6.                  docker-latest-logrotate

  7.                  docker-logrotate

  8.                  docker-selinux

  9.                  docker-engine-selinux

  10.                  docker-engine



我们执行以下安装命令去安装依赖包:

  1. $ sudo yum install -y yum-utils

  2.           device-mapper-persistent-data

  3.           lvm2


这里我事先已经安装过了,所以提示我已经安装了最新版本:


安装 Docker

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 Docker,只需要运行下面的 yum 命令:

  1. $ sudo yum install docker


当然在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:

  1. curl -fsSL get.docker.com -o get-docker.sh

  2. sh get-docker.sh


具体可以参看 docker-install 的脚本:https://github.com/docker/docker-install。

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

安装完成后,运行下面的命令,验证是否安装成功:

  1. docker versionordocker info


返回 Docker 的版本相关信息,证明 Docker 安装成功:


启动 Docker-CE:

  1. $ sudo systemctl enable docker$ sudo systemctl start docker


Docker 的简单运用 Hello World

由于服务器日常崩溃了, Docker 出了点问题,所以以下案例的演示是基于 Kali Linux 环境下进行的。

我们通过最简单的 Image 文件 Hello World,感受一下 Docker 的魅力吧!

我们直接运行下面的命令,将名为 hello-world 的 image 文件从仓库抓取到本地:

  1. docker pull library/hello-world


docker pull images 是抓取 image 文件,library/hello-world 是 image 文件在仓库里面的位置,其中 library 是 image 文件所在的组,hello-world 是 image 文件的名字。


抓取成功以后,就可以在本机看到这个 image 文件了:

  1. docker images


我们可以看到如下结果:


现在,我们可以运行 hello-world 这个 image 文件:

  1. docker run hello-world


我们可以看到如下结果:


输出这段提示以后,hello world 就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如 MySQL 镜像等。

是不是很 Easy 呢?我们从上面可以看出,Docker 的功能是十分强大的,除此之外,我们还可以拉取一些 Ubuntu,Apache 等镜像,在未来的教程中我们将会一一提到。

Docker 提供了一套简单实用的命令来创建和更新镜像,我们可以通过网络直接下载一个已经创建好了的应用镜像,并通过 Docker RUN 命令就可以直接使用。

当镜像通过 RUN 命令运行成功后,这个运行的镜像就是一个 Docker 容器啦。

容器可以理解为一个轻量级的沙箱,Docker 利用容器来运行和隔离应用,容器是可以被启动、停止、删除的,这并不会影响 Docker 镜像。

我们可以看看下面这幅图:


Docker 客户端是 Docker 用户与 Docker 交互的主要方式。当您使用 Docker 命令行运行命令时,Docker 客户端将这些命令发送给服务器端,服务端将执行这些命令。

Docker 命令使用 Docker API 。Docker 客户端可以与多个服务端进行通信。

我们将剖析一下 Docker 容器是如何工作的,学习好 Docker 容器工作的原理,我们就可以自己去管理我们的容器了。

Docker 架构






请到「今天看啥」查看全文