version: "3"
services:
rabbitmq3-management:
container_name: rabbitmq3-management
image: rabbitmq:3-management
hostname: rabbitmq3-management-master
logging:
driver: json-file
options:
max-size: "100m"
max-file: "1"
environment:
- RABBITMQ_DEFAULT_USER=pon
- RABBITMQ_DEFAULT_PASS=pon
volumes:
- "/home/bot/opt/docker-compose-public/rabbit/volumes:/var/lib/rabbitmq"
ports:
- "5672:5672"
- "15672:15672"
使用 rabbit 的时候,设置一下环境变量就可以拥有账号密码。
但是 elasticsearch 貌似不行?
看了这个教程:给Elasticsearch和Kibana加上权限控制
感觉过于麻烦,有什么简易方式吗?
version: "3"
services:
elk-elasticsearch:
container_name: elk-elasticsearch
image: elasticsearch:7.17.1
restart: always
ports:
- "9200:9200"
- "9300:9300"
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms1g -Xmx1g" # 限制 es 的内存大小,不然会吃掉 10GB+ 的 RAM
volumes:
- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml # kibana 其实是支持中文的,只要在 /usr/share/kibana/config/kibana.yml 加一行 i18n.locale: "zh-CN"
elk-kibana:
container_name: elk-kibana
image: kibana:7.17.1
restart: always
ports:
- "5601:5601"
environment:
- ELASTICSEARCH_HOSTS=http://192.168.31.245:9200
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml # kibana 其实是支持中文的,只要在 /usr/share/kibana/config/kibana.yml 加一行 i18n.locale: "zh-CN"
elastic官网 有说明可以配置环境变量:
ELASTIC_PASSWORD=elastic的密码
ELASTIC_PASSWORD_FILE=/run/secrets/bootstrapPassword.txt
,指定存放密码的文件(对应文件需要 mount 上去)里面还提供了一个 docker-compose.yml 的示例