version: '3' services: mysql: restart: always image: mysql container_name: mysql network_mode: host volumes: - ../volumes/data/mysqldata:/var/lib/mysql - ../config/my.cnf:/etc/my.cnf # 数据库还原目录 可将需要还原的sql文件放在这里 - ./init/mysql:/docker-entrypoint-initdb.d environment: - "MYSQL_ROOT_PASSWORD=lilishop" - "MYSQL_DATABASE=lilishop" - "TZ=Asia/Shanghai" ports: - 3306:3306 mongo: image: mongo restart: always container_name: 'lilishop' environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: lilishop ports: - 27017:27017 volumes: - ../volumes/data/mongodata:/data/db redis: image: redis restart: always ports: - 6379:6379 volumes: - ../volumes/data/redsidata:/data networks: - "redisnet" command: redis-server --port 6379 --requirepass lilishop --appendonly yes elasticsearch: container_name: elasticsearch image: elasticsearch:7.3.0 volumes: - ../volumes/data/es7/logs:/usr/share/es7/logs:rw - ../volumes/data/es7/data:/usr/share/es7/data:rw - ./config/ik:/usr/share/elasticsearch/plugins/ik # - "./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml" restart: on-failure ports: - "9200:9200" - "9300:9300" environment: cluster.name: elasticsearch discovery.type: single-node logging: driver: "json-file" options: max-size: "50m" networks: - stack ulimits: nofile: soft: 65535 hard: 65535 kibana: image: docker.elastic.co/kibana/kibana:7.3.0 container_name: kibana ports: ['5601:5601'] # volumes: # - "./config/kibana.yml:/usr/share/kibana/config/kibana.yml" networks: - stack depends_on: ['elasticsearch'] # rocket mq name server rmqnamesrv: image: foxiswho/rocketmq:server container_name: rocket-server network_mode: host environment: JAVA_OPT_EXT: "-server -Xms64m -Xmx64m -Xmn64m" ports: - 9876:9876 volumes: - ../volumes/data/rocket/server/logs:/opt/logs - ../volumes/data/rocket/server/store:/opt/rmqstore # rocket mq broker rmqbroker: image: foxiswho/rocketmq:broker container_name: rocket-broker network_mode: host ports: - 10909:10909 - 10911:10911 volumes: - ../volumes/data/rocket/broker/logs:/opt/logs - ../volumes/data/rocket/broker/store:/opt/rmqstore - ./config/broker.conf:/etc/rocketmq/broker.conf environment: - NAMESRV_ADDR=localhost:9876 - JAVA_OPTS:=-Duser.home=/opt - JAVA_OPT_EXT=-server -Xms64m -Xmx64m -Xmn64m command: mqbroker -c /etc/rocketmq/broker.conf depends_on: - rmqnamesrv # rocket console 这个可以不需要 rmqconsole: image: styletang/rocketmq-console-ng container_name: rocket-console network_mode: host ports: - 8180:8180 environment: - JAVA_OPTS=-Drocketmq.config.namesrvAddr=localhost:9876 -Dserver.port=8180 -Drocketmq.config.isVIPChannel=false - JAVA_OPT_EXT=-Xms128m -Xmx128m -Xmn128m depends_on: - rmqnamesrv # xxl-job 分布式调度中心 rmqconsole: image: xuxueli/xxl-job-admin:2.3.0 container_name: xxl-job network_mode: host ports: - 9001:9001 environment: - PARAMS=--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/lilishop?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=lilishop --server.port=9001 depends_on: - mysql volumes: - ../volumes/data/xxl-job:/data/applogs networks: stack: redisnet: driver: bridge