Docker

一。docker compose入门

1.docker compose是什么

Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用(多个应用)。

2.网址:https://github.com/docker/compose

3.Compose 中有两个重要的概念:

    服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

    项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

    Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理

 

4.安装与卸载

4.1下载官方的

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

拷贝:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64在浏览器下载

然后上传到Linux “/usr/local/bin/docker-compose”目录即可

 

自己下载

  echo https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)

上传

移动并改名

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

修改权限

sudo chmod +x /usr/local/bin/docker-compose

创建软连接 创建软连接 在任意目录都能执行

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看版本

docker-compose --version

卸载

sudo rm /usr/local/bin/docker-compose

 

5.部署Tomcat

     

5.1创建配置文件

docker-compose.yml (名字固定), 参照官网:https://docs.docker.com/compose/ 并给yml指定内容 : vi docker-compose.yml

# yaml 配置

version: '3'

services:

  tomcat:

    container_name: tomcat

    restart: always

    image: "tomcat"

    ports:

     - "8080:8080"

 

  • version: '3'   //版本
  • services:      //代表要配置服务
  •   tomcat:   //服务的名字是tomcat,名字任意
  •    container_name: tomcat        //构建的docker容器名字
  •    restart: always   //容器重启方式,总是自动重启
  •    image: "tomcat"   //容器基于什么镜像去创建
  •    ports:           //容器映射的端口

 

创建好之后 使用 “ :wq ” 保存退出

 

5.2后台启动容器

docker-compose up -d

 

5.3查看容器

docker ps -a

 

5.4删除容器

docker-compose rm

 

6.部署Mysql

   6.1创建脚本

vi docker-compose-mysql.yml

version: '3'

services:

  mysql:

    container_name: mysql_3306

    restart: always

    image: mysql:5.7

    environment:

      TZ: Asia/Shanghai

      MYSQL_ROOT_PASSWORD: admin

      MYSQL_USER: root

      MYSQL_PASS: admin

      MYSQL_DATABASE: pethome

    volumes:

      - /var/lib/mysql:/var/lib/mysql

      - ./db/conf/my.cnf:/etc/my.cnf

      - ./db/init:/docker-entrypoint-initdb.d/

    ports:

      - 3306:3306

 

  • Environment : 配置环境变量
  •  TZ: 时区
  •  MYSQL_ROOT_PASSWORD :ROOT用户的密码
  •  MYSQL_USER :用户
  •  MYSQL_PASS: 密码
  •  MYSQL_DATABASE :数据库名
  • Volumes :目录映射
  •   - /var/lib/mysql:/var/lib/mysql :Mysql数据目录映射
  •   - ./db/conf/my.cnf:/etc/my.cnf :配置文件映射
  •   - ./db/init:/docker-entrypoint-initdb.d/ :初始化,可以吧一些初始化SQL放到该目录

 

     6.2准备配置文件

mkdir -p db/conf

vi ./db/conf/my.cnf

[mysqld]

user=mysql

default-storage-engine=INNODB

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

 

通过Docker-compose.yml脚本在构建容器的时候会把该配置作为mysql的配置文件

 

    6.3准备初始化SQL

mkdir -p db/init

vi ./db/init/user.sql

create database test1;

use test1;

create table user

(

id int auto_increment primary key,

username varchar(64) unique not null,

email varchar(120) unique not null,

password_hash varchar(128) not null,

avatar varchar(128) not null

);

insert into user values(1, "zhangsan","test12345@qq.com","passwd","avaterpath");

insert into user values(2, "lisi","12345test@qq.com","passwd","avaterpath");

 

初始化SQL非必须,在构建容器的时候会自动执行初始化SQL

 

   6.4创建数据目录

mkdir -p /var/lib/mysql

 

   6.5创建容器

 

docker-compose -f docker-compose-mysql.yml  up -d

 

  • -f docker-compose-mysql.yml :指定脚本文件

 

    使用Navcat链接

    端口 33306

 

7.构建项目

   7.1 上传环境

   7.2删除以前的容器

Docker-compose down

docker kill `docker ps -a -q`

docker rmi `docker ps -a -q`

 

    7.3执行构建

cd /usr/local/docker-resource

docker-compose up -d

 

二。全文检索

1.全文检索理论
    1.1为什么需要全文检索-数据库模糊搜索坏处
            海量数据模糊查询效率低


     1. 2 查询效果不好 java-javascript

              对于查询%java%时会把javascript也查询出


      1.3 文本数据中没有相关度排序

           对于文件中关键字出现的次数,重要性等没有排序


      1.4 关键字没有高亮

             对于搜索关键字进行高亮显示。


      1.5 没有摘要截取

             对于搜索关键字进行高亮显示


    2.什么是全文检索
       广义:对结构化数据先创建索引,然后从索引中检索的搜索。
       狭义:对文本数据搜索
    3 优点
        1 海量数据like查询效率高-基于索引查询
        2 查询效果好 按照单词搜索
        3 有相关度排序
        4 有高亮
        5 有摘要截取

  • 相关度最高的排在最前面,官网中相关的网页排在最前面; java
  • 关键词的高亮。
  • 只处理文本,不处理语义。 以单词方式进行搜索

    4 全文检索解决方案
       1 java工具包-lucene,中小型项目
       2 全文检索服务器(es,sorl等)-大型项目,小型页OK
    5 全文检索核心
       创建索引:分词-语法分析-排序-去重等操作
       搜索索引: 搜索条件分词-搜索-对结果进行处理
入门 
    2.1 创建项目并且导入jar
    2.2 创建索引
     1获取IndexWriter
     2创建document对象
     3把document添加到Indexwriter并且提交
     4luke图形界面客户端测试
    2.3 搜索索引
     1输入关键字


     2通过关键字封装Query对象


     3创建IndexSearcher


     4把Query传入搜索器进行搜索-命中文档数,文档ids


     5通过文档id获取文档


     6把文档转换为想要对象就ok

 api详解
  1 FsDirectory.open底层平台兼容


  2 TextField(分词)&StringFeild(不分词)


  3 ik分词器 
     1 以lib方式导入v5jar


     2 简单测试-中英结合


     3 停止词&扩展词


     4 分词粒度 为true:最大粒度,为false:细粒度分


   4 TearmQuery&BooleanQUery

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值