本文是相对简单的部署,如果在使用中有更深入的使用和比较复杂的部署,就会独立出去单独写成一遍文章

部署 Elastic

docker elasticsearch

部署 kibana

Kibana 版本:5.6.10 官方教程

  1. docker pull docker.elastic.co/kibana/kibana:5.6.10

docker-compose.yml

  1. services:
  2. kibana:
  3. image: docker.elastic.co/kibana/kibana:5.6.10
  4. volumes:
  5. - ./kibana.yml:/usr/share/kibana/config/kibana.yml

kibana.yml

  1. server:
  2. host: "0.0.0.0" # 开放远程访问
  3. elasticsearch:
  4. url: http://elasticsearch:9200/ # 通过服务名链接容器中的其他 es 服务

部署 Kibana 6.6.0

官方 docker 文档

docker-compose.yml

  1. kibana6.6.0:
  2. image: docker.elastic.co/kibana/kibana:6.6.0
  3. container_name: kibana_660
  4. volumes:
  5. - ./kibana6.6.0/kibana.yml:/usr/share/kibana/config/kibana.yml
  6. ports:
  7. - 5601:5601

kibana.yml

  1. server:
  2. host: "0.0.0.0" # 开放远程访问
  3. elasticsearch:
  4. hosts: http://elasticsearch_660:9200/ # 通过服务名链接容器中的其他 es 服务

:::tips 为什么这里会多出来不同版本的部署,就是因为配置文件不一样了,希望还是去看官方文档,不然就像我这里第一次部署别的版本,结果 elasticsearch.url 被更改为了 hosts 都不知道 :::

启动后访问:http://localhost:5601/

部署 RabbitMQ 3

docker-compose.yml

  1. services:
  2. rabbitmq:
  3. image: rabbitmq:3-management
  4. container_name: rabbitmq
  5. environment:
  6. - hostname=localhost
  7. volumes:
  8. # 注意数据目录,不能写 /var/lib/rabbitmq/ ,否则启动后会导致 cookie 文件的权限问题启动失败
  9. - ./rabbitmq/data:/var/lib/rabbitmq/mnesia
  10. - ./rabbitmq/log:/var/log/rabbitmq
  11. - ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
  12. ports:
  13. - 15672:15672
  14. - 5672:5672

rabbitmq.conf

  1. # 默认的 guest/guest 用户是否只允许 http://localhost/ 访问
  2. loopback_users.guest = false
  3. listeners.tcp.default = 5672
  4. management.tcp.port = 15672

配置文件官方参考文档:

安装延迟插件

延迟消息封装

部署 Mysql

docker mysql

部署 MINIO(S3)

官方 Docker Compose 集群部署

docker-compose.yml

  1. version: '3.1'
  2. services:
  3. minio:
  4. image: minio/minio:RELEASE.2021-05-18T00-53-28Z
  5. container_name: minio
  6. environment:
  7. MINIO_ROOT_USER: 用户名
  8. MINIO_ROOT_PASSWORD: 密码
  9. volumes:
  10. - ./minio/data:/data
  11. - ./minio/config:/root/.minio/
  12. ports:
  13. - 9000:9000
  14. networks:
  15. - localnet
  16. command: server ./minio/data

说明:

  • /data 数据目录导出来了
  • /root/.minio/ 配置文件目录导出来了
  • command:这个命令是一定需要的,后面跟随的是数据目录路径

部署成功后,就可以访问 http://localhost:9000/minio/ 地址登录 minio 系统了

JAVA SDK 相关使用 请参考该文章

部署 PostgreSQL

  1. postgres:
  2. container_name: postgres
  3. image: postgres:13.3
  4. restart: always
  5. ports:
  6. - 5432:5432
  7. environment:
  8. POSTGRES_USER: root
  9. POSTGRES_PASSWORD: 123456
  10. volumes:
  11. - ./postgres/data:/var/lib/postgresql/data/
  12. - ./postgres/postgresql.conf:/usr/share/postgresql/postgresql.conf

postgresql.conf

  1. # 允许所有地址链接到该数据库
  2. listen_addresses = '*'

部署 Redis

docker redis