docker创建opensearch、mongo、graylog
拉取如下镜像
docker pull mongo
docker pull opensearchproject/opensearch:latest
docker pull graylog/graylog:5.1
编写docker-compose文件,复制进来的格式会有问题,参照下面图片进行修改
文件内容:
version: '3'
services:
mongo:
image: mongo
restart: always
volumes:
- mongo_data:/data/db
networks:
- graylog-net
opensearch:
image: opensearchproject/opensearch:latest
restart: always
environment:
- cluster.name=graylog
- node.name=opensearch
- discovery.type=single-node
- network.host=0.0.0.0
- action.auto_create_index=false
- plugins.security.disabled=true
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
volumes:
- opensearch_data:/usr/share/opensearch/data
networks:
- graylog-net
graylog:
image: graylog/graylog:5.1
restart: always
environment:
- GRAYLOG_PASSWORD_SECRET=GrayLog@12345678
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
- GRAYLOG_TRANSPORT_EMAIL_ENABLED=true
- GRAYLOG_TRANSPORT_EMAIL_HOSTNAME=smtp.tech.com
- GRAYLOG_TRANSPORT_EMAIL_PORT=25
- GRAYLOG_TRANSPORT_EMAIL_USE_AUTH=false
- GRAYLOG_TRANSPORT_EMAIL_USE_TLS=false
- GRAYLOG_TRANSPORT_EMAIL_USE_SSL=false
- GRAYLOG_ELASTICSEARCH_HOSTS=http://opensearch:9200
- GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai
entrypoint: /usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh
networks:
- graylog-net
depends_on:
- mongo
- opensearch
ports:
- 9000:9000
- 1514:1514
- 1514:1514/udp
- 2055:2055
volumes:
- graylog_data:/usr/share/graylog/data
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
volumes:
mongo_data:
driver: local
opensearch_data:
driver: local
graylog_data:
driver: local
networks:
graylog-net:



以上主要定义了三个服务:MongoDB、OpenSearch和Graylog,并设置了它们的相关配置。
MongoDB服务使用mongo镜像,设置了持续重启(restart: always)。它将/data/db目录挂载为mongo_data卷,并与graylog-net网络关联。
OpenSearch服务使用opensearchproject/opensearch:latest镜像,同样设置了持续重启。它定义了一系列环境变量用于配置OpenSearch,包括集群名称、节点名称、发现类型、网络主机、禁用安全插件等等。此外,还设置了内存锁定和文件打开限制等系统限制。/usr/share/opensearch/data目录被挂载为opensearch_data卷,并与graylog-net网络关联。
Graylog服务使用graylog/graylog:5.1镜像,同样设置了持续重启。它定义了一系列环境变量来配置Graylog,包括密码密钥、根密码哈希、HTTP外部URI、电子邮件传输配置、OpenSearch主机等等。入口点是/usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh,它在启动Graylog之前将等待OpenSearch服务就绪。Graylog服务与graylog-net网络关联,并依赖于MongoDB和OpenSearch服务。端口映射包括9000用于Web界面、1514和2055用于接收日志数据。关于Graylog的一系列环境变量都可以通过环境变量进行设置。只需将参数名称以GRAYLOG_为前缀,并全部使用大写字母。
另外,该docker-compose.yml文件定义了三个卷:mongo_data、opensearch_data和graylog_data,它们分别用于持久化存储MongoDB、OpenSearch和Graylog的数据。
最后,定义了一个名为graylog-net的网络,用于连接MongoDB、OpenSearch和Graylog服务。
请注意,您需要根据您自己的配置和需求进行适当的更改,例如更改密码、主机名、网络配置等。保存并命名为docker-compose.yml文件。
启动docker-compose文件
docker-compose up -d
然后浏览器访问


浙公网安备 33010602011771号