美文网首页
docker-compose安装elasticsearch7.1

docker-compose安装elasticsearch7.1

作者: 楼兰King | 来源:发表于2020-08-17 16:36 被阅读0次
环境描述:
image.png
一切操作之前,先安装docker-compose:
可以看官网安装教程
[https://docs.docker.com/compose/install/#install-compose#install-compose](https://docs.docker.com/compose/install/#install-compose#install-compose)
此处使用pip安装docker-compose,因为pip可以为你自动对应版本问题

安装pip
yum -y install epel-release
yum -y install python-pip
确认版本
pip --version
更新pip
pip install --upgrade pip
安装docker-compose
pip install docker-compose
查看版本
docker-compose version

安装完毕如图:
image.png
image.png
image.png
中途出点问题,安装失败,记录如图:
image.png
image.png
image.png
尝试多次,始终失败,暂时放弃如上操作,换种方法:
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
赋予权限
sudo chmod +x /usr/local/bin/docker-compose

执行完毕如下图:


image.png
命令参考
# 你自己修改了docker-compose文件或Dockerfile文件的话,请执行
docker-compose build

# 开启 dnmp 服务(-d 后台运行)
docker-compose up -d

# 重启 dnmp 服务
docker-compose restart

# 关闭 dnmp 服务
docker-compose down

# 如果修改或增加了 nginx 服务配置
docker restart nginx
首先第一步,设置国内镜像,避免加载过慢,你不难受吗?

执行命令如下:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

2.执行完毕如下图:


image.png
重载及重启docker

sudo systemctl daemon-reload//重新加载
sudo systemctl restart docker//重启
3.搜索查看,下载镜像
可直接访问如下地址查看:
https://www.docker.elastic.co/#
下载镜像:

#下载elasticsearch
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.7.1
#下载kibana
docker pull docker.elastic.co/kibana/kibana:7.1.1
如上下载镜像,如果还是加载很慢,直接用国内镜像地址:
image.png
image.png
image.png
修改地址为所需版本即可
docker pull daocloud.io/library/elasticsearch:7.7.1
docker pull daocloud.io/library/kibana:7.7.1
很快加载完毕,Good!

4.查看镜像:


image.png

5.编写docker-compose编排二大服务
在/opt/目录下新建一个elkDocker目录

#进入elkDocker目录
cd /opt/elkDocker
#新建docker-compose.yml文件
vi docker-compose.yml
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
    container_name: elasticsearch7.1.1
    environment:
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512_'2.2'm -Xmx512m"
    volumes:
      - esdata:/usr/share/elasticsearch/data
    hostname: elasticsearch
    restart: always
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: docker.elastic.co/kibana/kibana:7.1.1
    container_name: kibana7.1.1
    environment:
      - elasticsearch.hosts=http://elasticsearch:9200
    hostname: kibana
    depends_on:
      - elasticsearch
    restart: always
    ports:
      - "5601:5601"
  logstash:
    image: docker.elastic.co/logstash/logstash:7.1.1
    container_name: logstash7.1.1
    hostname: logstash
    restart: always
    depends_on:
      - elasticsearch
    ports:
      - 9600:9600
      - 5044:5044
volumes:
  esdata:
    driver: local
#:wq保存文件
#在yml文件所在目录执行
docker-compose up -d
#如果都出现done那就创建完成了
#可以执行一下命令查看日志(分别输出elk三个服务的日志)
docker-compose logs
#执行docker ps可以看到三个服务的运行状态(如下图)
过段时间,再次操作执行docker-compose时候,一直会报如下错误:
image.png

其实只是版本号的问题,因为dockercompose对应docker版本号会出问题,解决如下:
1.查看当前 docker 版本


image.png

2.查看 docker 版本对应的 docker-compose 版本

docker官方文档(https://docs.docker.com/compose/compose-file/

Compose file format    Docker Engine release
3.8    19.03.0+
3.7    18.06.0+
3.6    18.02.0+
3.5    17.12.0+
3.4    17.09.0+
3.3    17.06.0+
3.2    17.04.0+
3.1    1.13.1+
3.0    1.13.0+
2.4    17.12.0+
对应的compose版本为3.8

3,修改docker-compose.yml文件,增加version版本,最终如下:

version: "3.8"
services:
  elasticsearch:
    image: daocloud.io/library/elasticsearch:7.7.1
    container_name: elasticsearch7.1.1
    environment:
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512_'2.2'm -Xmx512m"
    volumes:
      - esdata:/usr/share/elasticsearch/data
    hostname: elasticsearch
    restart: always
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: daocloud.io/library/kibana:7.7.1
    container_name: kibana7.1.1
    environment:
      - elasticsearch.hosts=http://elasticsearch:9200
    hostname: kibana
    depends_on:
      - elasticsearch
    restart: always
    ports:
      - "5601:5601"
volumes:
  esdata:
    driver: local
补充,容器启动运行
单节点,
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d --name ES01 830a894845e3
操作过程问题记录

准备就绪启动后,访问 kibana地址,报Kibana server is not ready yet

查看 ElasticSearch 的容器内部 ip
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'  容器id或容器名
进入 Kibana 容器内部,修改 kibana.yml 中的ip
docker exec -it kibana容器id /bin/bash
cd config
vi kibana.yml

将 "http://elasticsearch:9200" 中的 elasticsearch 替换成上一步的es容器内部ip。
修改完成之后退出容器,重新启动即可 docker restart kibana容器id
错误2:
Can’t find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml
解决方式:
方案1、可以执行命令时指定绝对路径。
docker-compose -f /usr/local/harbor/docker-compose.yml down -v           //移除Harbor服务容器同时保留镜像数据/数据库

docker-compose -f /usr/local/harbor/docker-compose.yml up -d             //重启私库

方案2、可以跳转到harbor中进行执行就不会报错了。
cd /usr/local/harbor/             ##目录跳转

docker-compose up -d              ##重启私库

docker-compose down -v            ##移除Harbor服务容器

[docker-compose常用命令]
docker-compose up -d nginx                     构建建启动nignx容器

docker-compose exec nginx bash            登录到nginx容器中

docker-compose down                              删除所有nginx容器,镜像

docker-compose ps                                   显示所有容器

docker-compose restart nginx                   重新启动nginx容器

docker-compose run --no-deps --rm php-fpm php -v  在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器

docker-compose build nginx                     构建镜像 。        

docker-compose build --no-cache nginx   不带缓存的构建。

docker-compose logs  nginx                     查看nginx的日志 

docker-compose logs -f nginx                   查看nginx的实时日志

 

docker-compose config  -q                        验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 

docker-compose events --json nginx       以json的形式输出nginx的docker日志

docker-compose pause nginx                 暂停nignx容器

docker-compose unpause nginx             恢复ningx容器

docker-compose rm nginx                       删除容器(删除前必须关闭容器)

docker-compose stop nginx                    停止nignx容器

docker-compose start nginx                    启动nignx容器

相关文章

网友评论

      本文标题:docker-compose安装elasticsearch7.1

      本文链接:https://www.haomeiwen.com/subject/zpcqjktx.html