js中的正则表达式 使用Docker和Elasticsearch搭建全文本搜索引(2)

电脑杂谈  发布时间:2018-02-22 10:22:50  来源:网络整理

对于作者来说,Docker可以提供平台一致性安装环境(可以运行在Windows、macOS和Linux系统)。一般Node.js、Elasticsearch和Nginx都需要不同安装步骤,如果运行在Docker环境中只需要定义好不同配置文件,就可以运行在任何Docker环境。另外,由于应用各自运行在隔离容器中,与本地宿主机关系很小,因此类似于“但是我这可以运行啊”这种排错问题就很少会出现。

2.1 安装Docker和Docker-Compose

本项目只需要Docker和Docker-Compose环境。后者是Docker官方工具,在单一应用栈中编排定义多个容器配置。

安装Docker——https://docs.docker.com/engine/installation/

安装Docker Compose——https://docs.docker.com/compose/install/

2.2 设置项目安装目录

创建一个项目根目录(例如guttenberg_search),在其下定义两个子目录:

/public——为前端 Vue.js webapp存放数据。

/server——服务器端Node.js 源文件。

2.3 添加Docker-Compose配置文件

下一步,创建docker-compose.yml文件,定义应用栈中每个容器的配置:

gs-api——Node.js 容器后端应用逻辑。

gs-frontend——为前端webapp提供服务的Nginx容器。

gs-search——存储搜索数据的Elasticsearch容器。

version: '3'

services:

api: # Node.js App

container_name: gs-api

build: .

ports:

- "3000:3000"# Expose API port

- "9229:9229"# Expose Node process debug port (disable in production)

environment: # Set ENV vars

- NODE_ENV=local

- ES_HOST=elasticsearch

- PORT=3000

volumes: # Attach local book data directory

- ./books:/usr/src/app/books

frontend: # Nginx Server For Frontend App

container_name: gs-frontend

image: nginx

volumes: # Serve local "public"dir

- ./public:/usr/share/nginx/html

ports:

- "8080:80"# Forward site to localhost:8080

elasticsearch: # Elasticsearch Instance

container_name: gs-search

image: docker.elastic.co/elasticsearch/elasticsearch:6.1.1

volumes: # Persist ES data in seperate "esdata"volume

- esdata:/usr/share/elasticsearch/data

environment:

- bootstrap.memory_lock=true

- "ES_JAVA_OPTS=-Xms512m -Xmx512m"


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-88488-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 李平
      李平

      另一方面要通过实际行动向美国表达坚决的意志

    • 刘奭
      刘奭

      记着了——浙江财经学院的谢做死教授

    热点图片
    拼命载入中...