docker
浊酒暖情
这个作者很懒,什么都没留下…
展开
-
Docker swarm搭建(2)
什么是docker swarm?Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令。目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。它可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。用户可以把原创 2020-07-10 08:29:48 · 324 阅读 · 0 评论 -
Docker swarm搭建(1)
Docker swarmdocker swarm集群:三剑客之一一. 实验环境主机IP地址服务docker01192.168.1.11swarm+overlay+webUIdocker02192.168.1.13dockerdocker03192.168.1.20docker三台主机都关闭防火墙,禁用selinux,修改主机名,时间同步,并添加域名解析。docker版本必须是:v1.12版本开始(可使用docker version查看版本)1原创 2020-07-10 08:28:43 · 434 阅读 · 0 评论 -
docker swarm版本回滚
Docker swarmdocker swarm集群:三剑客之一一. Docker Swarm 的基本概念和原理Docker Swarm 简介Swarm是Docker公司推出的用来管理docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in Go, docker_py, docker等)均可以直接与Swarm通信。Swarm几乎全部用go语原创 2020-07-10 08:27:43 · 1321 阅读 · 2 评论 -
Docker+Consul+registrator实现服务发现及nginx反向代理
更改时间mv /etc/localtime/etc/localtime. bkcp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime查看端口[root@docker01 consul]# ss -lntConsul:分布式、高可用的,服务发现和配置服务的工具。数据中心Rigistrator:负责收集dockerhost_上,容器服务的信息,并且发送给consulConsul-tpmplate:根据编辑好的模板,生产新的nginx配置文件,并负责原创 2020-07-10 08:24:00 · 565 阅读 · 0 评论 -
搭建Prometheus监控报警
基于上一篇博客继续进行部署一、Prometheus & AlertManager 介绍Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合,最初有 SoundCloud 开发的,后来随着越来越多公司使用,于是便独立成开源项目。Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,例如邮件、微信、钉钉、Slack 等常用沟通工具,而且很容易做到告警信息进行去重,降噪,分组等,是一款很好用的告警通知系统。二、基本概念Prom原创 2020-07-10 08:22:13 · 867 阅读 · 0 评论 -
基于docker搭建Prometheus+Grafana
一、介绍PrometheusPrometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。Prometheus基本原理是通过HTTP原创 2020-07-10 08:21:14 · 983 阅读 · 0 评论 -
Docker的监控(简单部署Sysdig和Weave Scope)
一、Docker的监控Docker自带的监控命令简单命令介绍psdocker container ps 是我们早已熟悉的命令了,方便我们查看当前运行的容器。新版的 Docker 提供了一个新命令 docker container ls,其作用和用法与 docker container ps 完全一样。不过 ls 含义可能比 ps 更准确,所以更推荐使用。top如果想知道某个容器中运行了哪些进程,可以执行 docker container top [container] 命令。命令后面还可以跟上原创 2020-07-10 08:19:49 · 508 阅读 · 0 评论 -
docker三剑客之docker-compose和搭建wordpress的博客
一、简介Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。通过之前的介绍,我们知道使用一个 Dockerfile 模板文件,可以让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.y原创 2020-07-10 08:18:13 · 556 阅读 · 1 评论 -
nginx+docker+nfs部署
一.体系架构在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟切换时间,DNS服务可以负责前端VIP的负载均衡。 nginx负责控制后端web服务器的负载均衡,将客户端的请求按照一定的算法转发给后端Real Server处理,而Real Server将响应直接返回给客户端。 nfs服务器做实时备份,给原创 2020-07-10 08:16:44 · 460 阅读 · 0 评论 -
docker部署LNMP环境
首先要有确认环境中有需要的tar包,可以使用docker pull来下载这些镜像现在我们是使用已经下载好的镜像,所以需要导入一下[root@docker01 ~]# docker load -i nginx.tar && docker load -i wordpress.tar && docker load -i mysql-5.7.tar && docker load -i php.7.2-fpm.tar//导入nginx,wordpr.原创 2020-07-10 08:14:00 · 146 阅读 · 0 评论 -
企业级私有仓库镜像仓库Harbor
Harbor 简介Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器, 通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。 作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。 Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中,确保数据和知识产权在公司内部网原创 2020-07-10 08:12:17 · 262 阅读 · 0 评论 -
Docker数据持久化和容器与容器的数据共享
一、前言当我们使用Docker创建一个mysql的container, 数据是存储在container内的.如果有一天不小心执行了docker rm $(docker ps -aq)删除所有container. 那么mysql里的数据也会被删掉, 这是不安全的.我们需要将数据持久化, 存储在container外部. 即使删除container也不会删除原有的数据.二、容器的缺陷容器中的数据可以存储在容器层。但是将数据存放在容器层存在以下问题:1.数据不是持久化。意思是如果容器删除了,这些数据也就原创 2020-07-09 15:08:41 · 386 阅读 · 0 评论 -
Docker跨主机网络——manual
1. Macvlan 简介在 Macvlan 出现之前,我们只能为一块以太网卡添加多个 IP 地址,却不能添加多个 MAC 地址,因为 MAC 地址正是通过其全球唯一性来标识一块以太网卡的,即便你使用了创建 ethx:y 这样的方式,你会发现所有这些“网卡”的 MAC 地址和 ethx 都是一样的,本质上,它们还是一块网卡,这将限制你做很多二层的操作。有了 Macvlan 技术,你可以这么做了。Macvlan 允许你在主机的一个网络接口上配置多个虚拟的网络接口,这些网络 interface 有自己独立的原创 2020-07-09 15:06:00 · 341 阅读 · 0 评论 -
Docker跨主机网络——overlay
一、Docker 跨主机通信Docker跨主机网络方案包括:docker 原生的 overlay 和 macvlan。第三方方案:常用的包括 flannel、weave 和 calico。docker 通过 libnetwork 以及 CNM 将上述各种方案与docker集成在一起。libnetwork 是 docker 容器网络库,最核心的内容是其定义的 Container Network Model (CNM),这个模型对容器网络进行了抽象,由以下三类组件组成:1.1 SandboxSan原创 2020-07-09 15:04:13 · 834 阅读 · 0 评论 -
Docker的网络介绍
Docker 网络基础Docker启动时, 会自动在主机上创建一个docker0虚拟网桥, 实际上是Linux的一个bridge,可以理解为一个软件交换机, 它会而挂载到它的网口之间进行转发 当创建一个Docker容器的时候, 同理会创建一对veth pair接口(当数据包发送到一个接口时, 另外一个接口也可以收到相同的数据包), 这对接口一端在容器内, 即eth0;另一端在本地并被挂载到docker0网桥, 名称以veth开头。Docker容器的DNS和主机名实际上容器中/etc目录下有3个文件是原创 2020-07-09 15:03:32 · 189 阅读 · 0 评论 -
docker私有仓库
私有仓库有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。本节介绍如何使用本地仓库。docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。本文内容基于 docker-registry v2.x 版本。安装运行 docker-registry容器运行你可以通过获取官方 registry 镜像来运行。$ docker run -d -p 5000:5000 --restart=always --name registry reg原创 2020-07-09 15:02:06 · 166 阅读 · 0 评论 -
Dockerfile常用指令
1.FROM:构建镜像基于哪个镜像语法:FROM <image>[:<tag>]例如:FROM centos:7解释:设置要制作的镜像基于哪个镜像,FROM指令必须是整个Dockerfile的第一个指令,如果指定的镜像不存在默认会自动从Docker Hub上下载。2.MAINTAINER:镜像维护者姓名或邮箱地址语法:MAINTAINER <name>例如:MAINTAINER adam解释:MAINTAINER指令允许你给将要制作的镜像设置作者信息3原创 2020-07-09 15:00:40 · 520 阅读 · 0 评论 -
理解Docker镜像分层
目录关于base镜像关于存储结构(About storage drivers)先来创建一个自己的镜像docker镜像的分层结构容器的大小修改时复制策略 copy-on-write (CoW)Copying makes containers efficient关于base镜像base 镜像有两层含义:不依赖其他镜像,从 scratch 构建。其他镜像可以之为基础进行扩展。所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debi原创 2020-07-09 14:58:40 · 441 阅读 · 0 评论 -
Dockers镜像分层
1,Dockers的最小镜像[root@localhost ~]# docker pull hello-world//下载一个最小的镜像[root@localhost ~]# docker images//查看镜像[root@localhost ~]# docker run hello-world//运行一下hello-world (里面是一个文本对docker运行的简单介绍)dockerfile的组成1)FROM:scratch(抓、挠)2)COPY:hello /3)CMD原创 2020-07-09 14:55:50 · 294 阅读 · 1 评论 -
DOCKER源码分析(一):DOCKER架构
1 背景1.1 Docker简介Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。目前,Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率,并且提升诸如IO等方面的性能。由于众多新颖的特性以原创 2020-07-09 14:54:34 · 275 阅读 · 0 评论 -
Docker的基本操作命令
Docker介绍Docker 是一个能够把开发应用程序自动部署到容器的开源引擎。它由Docker公司的团队编写,基于Apache 2.0开源协议授权。它提供了一个简单、轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计。Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻原创 2020-07-09 14:51:20 · 218 阅读 · 0 评论 -
docker底层原理介绍
1.docker介绍1.1什么是dockerDocker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。1.2docker能解决什么问题1.2.1高效有序利用资源机器资源有限;单台机器得部署多个应用;应用之间互相隔离;应用之间不能发生资源抢占,每个应用只能使用事先注册申请的资源。1.2.2一次编译,到处运行类似于java代码,应用及依原创 2020-07-09 14:45:33 · 412 阅读 · 0 评论 -
花式安装Docker
//使用docker的基本要求[root@localhost ~]# uname -r3.10.0-693.el7.x86_64内核版本必须是3.10以上的。一, 安装dockers在安装docker之前,再说一点,docker现在有两个版本,一个叫做docker-EE企业版,收费的一个叫docker-CE社区版,免费版,其实两个版本并没有太大的偏差,不一样的是docker公司会提供后续的官方的技术支持等服务,对于我们来说,肯定用社区办的多,我们拿来学习社区办更是可以的。Docker的官网h原创 2020-07-09 14:44:19 · 194 阅读 · 0 评论