解决Linux系统中Vim编辑器中文乱码的问题
解决Vim中文乱码的问题编辑 vimrc 文件sudo vim /etc/vimrc
在文件中加入如下几行:
set fileencodings=ucs-bom,utf-8,gbk,gb2312,cp936,gb18030,big5,latin-1
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
参考资料: https://www.cnblogs.com/hfyfpga/p/5451918.html
使用grep命令过滤到掉文件中的内容
过滤掉注释
cat /etc/ntp.conf | grep -v '^#'
过滤掉空行
cat /etc/ntp.conf | grep -v '^#'
过滤掉注释和空行cat /etc/ntp.conf | grep -Ev '^#|^$'
Docker - Dockerfile
Dockerfile:语法详解:官方文档:https://docs.docker.com/engine/reference/builder/
FROM :示例:
FROM centos # 指定基础镜像为 centos
作用:FROM指定一个基础镜像, 一般情况下一个可用的 Dockerfile一定是 FROM 为第一个指令。至于镜像则可以是任何合理存在的image镜像,不建议使用任何非官方镜像,为了安全。 FROM 一定是首个非注释指令 Dockerfile, FROM 可以在一个 Dockerfile 中出现多次,以便于创建混合的images。 如果没有指定 tag ,latest 将会被指定为要使用的基础镜像版本。
LABEL :示例:
LABLE version="1.0" # dockefile 版本信息
LABLE maintainer="zhang@gmail.com" # dockerfile 维护者信息
作用: 指定镜像制作者[meta data]的信息信息,如maintainer、version、description等
RUN :示例:
RUN ...
Docker - Swarm、SwarmKit、Swarm Mode QuickStart
Docker Swarm简介:Docker Swarm是Docker的本地集群。它将Docker主机池变成单个虚拟Docker主机。由于Docker Swarm提供标准的Docker API,所有已经与Docker守护进程通信的工具都可以使用Swarm以透明地扩展到多个主机。
Docker - Swarm:2014年底,Docker公司着手设计了一组容器的解决方案:Machine、Swarm、Compose。在这个方案中,Machine是用于主流虚拟机和云平台快速搭建和创建 Docker环境的工具,支持在创建的节点上自动部署Swarm。当时的Swarm是一款整合跨节点网络的集群式容器运维管理服务,它利用 Docker守护进程的 API ,将多节点的计算资源进行汇总,并将目标设置为Swarm服务的 IP 和端口,使得可以像操作单个节点的Docker 服务一样来操作整个容器集群。这种方式有先天性的局限性,比如在单节点 Docker中并没有为服务高可用而设计的副本集和负载均衡等概念,也不存在服务网络管理和跨节点数据存储的问题。
Docker - SwarmKit:2016年2月,Docker ...
Docker - Compose 服务编排
Docker - Compose简介Compose 是什么?Compose是定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,您可以创建并启动配置中的所有服务。
Compose适用于所有环境:生产,分期,开发,测试以及CI工作流程。
Compose 历史版本?Docker Compose目前为止迭代了三个版本,官网建议使用最新的3版本,Docker从1.13.0+开始支持3版本。
本机的Docker版本是:
[vagrant@docker-host ~]$ docker -v
Docker version 18.05.0-ce, build f150324
参考:https://docs.docker.com/compose/compose-file/#reference-and-guidelines
Docker - Compose.yml一个简单的dokcer-compose.yml文件:
version: '3'
services:
web:
build: ../../..
p ...
Docker - 持久化存储和数据共享
Docker - Data Volume想要了解Docker Volume,首先我们需要知道Docker的文件系统是如何工作的.Docker镜像是由多个文件系统(只读层)叠加而成.当我们启动一个容器的时候,Docker会加载镜像层并在其上添加一个读写层.如果运行中的容器修改了现有的一个已存在的文件,那该文件将会从读写层下的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏.当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失.在Docker中,只读层以及在顶部的读写层的组合被称为Union FIle System(联合文件系统).为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念.简单来说,Volume就是目录或者文件,它可以绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上.
环境准备:拉取MySQL的镜像:
docker pull mysql:latest
启动一个MySQL容器:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD= ...
Docker - NetWork
Linux - Namespace:目前,Linux实现了六种不同类型的命名空间。每个命名空间的目的都是将一个特定的全局系统资源包装在一个抽象中,使得它看起来像名称空间内的进程,它们拥有自己独立的全局资源实例。命名空间的总体目标之一是支持容器的实现,这是一种轻量级虚拟化(以及其他目的)工具,它为一组进程提供了一种愿景,即它们是系统上唯一的进程。
如果要深入研究docker技术,linux namespace是必须掌握的基础知识。
Linux的六种Namespace:
名称
系统调用参数
相关内核版本
作用
Mount namespace (挂载命名空间)
CLONE_NEWNS
Linux 2.4.19
提供磁盘挂载点和文件系统的隔离能力
UTS namespace(UTS命名空间)
CLONE_NEWUTS
Linux 2.6.19
提供主机名隔离能力
IPC namespace(IPC命名空间)
CLONE_NEWIPC
Linux 2.6.19
提供进程间通信的隔离能力
PID namespace(PID命名空间)
CLONE_NEWPID
Linux 2. ...
Docker - Container & Image
Docker - 核心概念:docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
Docker - 镜像[Image]:镜像是构建Docker的基石。用户基于镜像来运行自己的容器。镜像也是Docker生命周期中的“构建”部分。镜像是基于联合文件系统的一种层式结构(layer),由一系列指令一步一步构建出来,不同image 之间可以共享 layer ,Image本身是只读的(read-only)。
构建Base Image:通过简单的 Dockerfile 来构建一个 baseimage:
1、编写一个简单的 C语言程序:
[vagrant@docker-host ~]$ mkdir baseimg && cd b ...
CentOS7 搭建 Consul 集群
环境准备:ssh shell工具: 远程连接三个CentOS示例: 部署集群
配置好各个实例之间的网络访问,以及ssh免密登录。
下载&上传:1、下载 Consul:Download Consul - Consul by HashiCorp
2、上传至虚拟机:
➜ Desktop scp consul_1.1.0_linux_amd64.zip root@192.168.1.11:/opt
➜ Desktop scp consul_1.1.0_linux_amd64.zip root@192.168.1.12:/opt
➜ Desktop scp consul_1.1.0_linux_amd64.zip root@192.168.1.13:/opt
解压&拷贝在其他几台机器上重复此命步骤:
[root@centos-1 ~]# yum install unzip -y
[root@centos-1 ~]# cd /opt
[root@centos-1 opt]# ls
consul_1.1.0_linux_amd64.zip ...
『ElasticSearch』- Introduction & QuickStart
简介:Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速、实时地存储、搜索和分析大量数据。它通常被用作支持具有复杂搜索特性和需求的应用的底层引擎/技术。
官网:https://www.elastic.co/
文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
版本:截止目前的最新版是 elasticsearch-6.2.4。
安装:下载地址:https://www.elastic.co/downloads在官网的下载页面有提供安装方式:
下载并解压缩Elasticsearch。(ES也提供了apt、yum、msi等安装方式,具体参考官网)
运行./bin/elasticsearch在Linux,Mac上或bin\elasticsearch.bat在Windows上。
运行curl http://localhost:9200/或在浏览器访问http://localhost:9200
CLI参数:
Option
Descripti ...