Docker的重要性
构建WAF和自建堡垒机的基础构建。
- 避免不必须要的系统配置与安装付出。
- 包装我们的系统程序,划清系统运维与业务运维的界限。
- 一次打包,N次分发
- 按自己的想法来定制包
- 包与包组合成为服务,统一的服务对外负载均衡
- 安全上,服务被封装,服务可以单独的开关,端口可以被聚焦。开什么,设置什么,都是定好了的。
Docker的安装 对系统进行必要的升级以后,我们就可以直接安装Docker了。
Centos下面,直接YUM安装:
yum install docker
注意对比一下ubuntu下面的安装不同点。
基本概念
Docker 镜像(Images) Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
Docker 容器(Container) 容器是独立运行的一个或一组应用,是镜像运行时的实体。
Docker 客户端(Client) Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/)) 与 Docker 的守护进程通信。
Docker 主机(Host) 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker Registry Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。
Docker Hub(https://hub.docker.com)) 提供了庞大的镜像集合供使用。 一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。


更高级的应用架构:
镜像的安装
:
Docker images 等同于光盘镜像ISO
采用
Docker search xxxx
来搜索你需要安装的镜像名字 稍后即可
docker pull centos
的方式从镜像站点下载镜像
Docker可以在Ubuntu,Debian,Centos,Windows,Macos上面安装。
镜像的加速
: 国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
Ubuntu18.04+、Debian8+、CentOS7 对于使用 systemd 的系统,请在
/etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件):
{“registry-mirrors”:“[https://reg-mirror.qiniu.com/“]}
之后重新启动服务:
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
关于Macos下的加速,和Windows下面的加速,请自行查询百度。
Docker的测试与使用
我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现”对话”的能力:
docker run -i -t ubuntu /bin/bash
root@0123ce188bd8:/#
很快就在centos下面安装好了一个Ubuntu!!!!

镜像的列表:
关于Docker Dockerfile
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
这里仅讲解如何运行 Dockerfile 文件来定制一个镜像,具体 Dockerfile 文件内指令详解,将在下一节中介绍,这里你只要知道构建的流程即可。

gitee等开源网站上面很多.
构建镜像
在 Dockerfile 文件的存放目录下,执行构建动作。
docker build -t nginx:v3 .

延伸学习-Swarm 集群管理
swarm 集群由管理节点(manager)和工作节点(work node)构成。swarm mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。work node:即图中的 available node,主要负责运行相应的服务来执行任务(task)。
Docker的实例
$ docker pull ubuntu:latest $ docker pull centos:centos7 $ docker pull nginx:latest $ docker pull node:latest (node的原生安装有点麻烦)
实例操作:
尝试安装 php mysql tocat python redis mongodb apache
https://hub.docker.com/search?q=&type=image 可以查看可以选择镜像
