重写了我的bitshares-elasticsearch的docker-compose
之前在《用 docker compose 搭建 bitshares elastic search》中已经介绍了如何使用docker-composer
搭建 Bitshares Elastic Search 服务
。
最近有些时间,就对之前的部署进行了优化,并且升级了 elastic search
的版本和 Bitshares
的版本。
仓库地址(Repository) => https://github.com/ety001/dockerfile/tree/master/bts-es
Manual in English => https://github.com/ety001/dockerfile/blob/master/bts-es/README.md
如何部署
1. 克隆代码库
1 | $ git clone https://github.com/ety001/dockerfile.git |
2. 修改 docker-composer.yaml 中的部分参数
- ES_JAVA_OPTS=-Xms3g -Xmx3g 这里可以调整 es 的内存占用
- ELASTIC_PASSWORD 这是你的es密码. 请同时修改
--elasticsearch-basic-auth
的值 - #ports: - 9200:9200, 如果你想直接让http服务可以被访问,可以取消这个地方的注释
3. 生成证书
1 | $ docker run \ |
4. 增加 vm.max_map_count 配置
1 | $ sudo sysctl -w vm.max_map_count=262144 |
如果想要永久修改这个配置值,在 /etc/sysctl.conf
中增加 vm.max_map_count
设置。
配置好需要重启,执行 sysctl vm.max_map_count
检查是否配置成功。
5. 启动
1 | $ docker-compose up -d |
其他常用命令
1. 检查运行日志
1 | $ docker-compose logs -f --tail 100 |
2. 停止所有容器
1 | $ docker-compose down |
3. 检查es是否成功运行
1 | $ curl -u elastic:123456 -X GET 'http://172.22.0.2:9200/_cat/health' |
123456
是你在docker-compose.yml
中配置的密码.
4. 把 es01 加入到 nginx 的容器网络中
如果你同时使用 docker
来部署 nginx
,你可以把 es01
容器加入到 nginx
容器
所在的网络里,这样可以方便 nginx
做反向代理到 es
的 http
服务并加上证书。
假设你的 nginx 容器所在网络名为 lnmp
1 | docker network connect --ip 172.20.0.3 lnmp es01 |
任何问题?
如果有任何问题,欢迎提 issue。
My bitshares account: ety001
My witness account: liuye