docker-compose-pulsar.yaml 1.8 KB

1234567891011121314151617181920212223242526272829303132
  1. version: '3'
  2. services:
  3. pulsar:
  4. container_name: pulsar
  5. image: apachepulsar/pulsar:2.11.0
  6. # ports:
  7. # - 6650:6650
  8. # - 8080:8080
  9. networks:
  10. emqx_bridge:
  11. volumes:
  12. - ../../apps/emqx/etc/certs/cert.pem:/etc/certs/server.pem
  13. - ../../apps/emqx/etc/certs/key.pem:/etc/certs/key.pem
  14. - ../../apps/emqx/etc/certs/cacert.pem:/etc/certs/ca.pem
  15. restart: always
  16. command:
  17. - bash
  18. - "-c"
  19. - |
  20. sed -i 's/^advertisedAddress=/#advertisedAddress=/' conf/standalone.conf
  21. sed -ie 's/^brokerServicePort=.*/brokerServicePort=6649/' conf/standalone.conf
  22. sed -i 's/^bindAddress=/#bindAddress=/' conf/standalone.conf
  23. sed -i 's#^bindAddresses=#bindAddresses=plain:pulsar://0.0.0.0:6650,ssl:pulsar+ssl://0.0.0.0:6651,toxiproxy:pulsar://0.0.0.0:6652,toxiproxy_ssl:pulsar+ssl://0.0.0.0:6653#' conf/standalone.conf
  24. sed -i 's#^advertisedAddress=#advertisedAddress=plain:pulsar://pulsar:6650,ssl:pulsar+ssl://pulsar:6651,toxiproxy:pulsar://toxiproxy:6652,toxiproxy_ssl:pulsar+ssl://toxiproxy:6653#' conf/standalone.conf
  25. sed -i 's#^tlsCertificateFilePath=#tlsCertificateFilePath=/etc/certs/server.pem#' conf/standalone.conf
  26. sed -i 's#^tlsTrustCertsFilePath=#tlsTrustCertsFilePath=/etc/certs/ca.pem#' conf/standalone.conf
  27. sed -i 's#^tlsKeyFilePath=#tlsKeyFilePath=/etc/certs/key.pem#' conf/standalone.conf
  28. sed -i 's#^tlsProtocols=#tlsProtocols=TLSv1.3,TLSv1.2#' conf/standalone.conf
  29. sed -i 's#^tlsCiphers=#tlsCiphers=TLS_AES_256_GCM_SHA384#' conf/standalone.conf
  30. echo 'advertisedListeners=plain:pulsar://pulsar:6650,ssl:pulsar+ssl://pulsar:6651,toxiproxy:pulsar://toxiproxy:6652,toxiproxy_ssl:pulsar+ssl://toxiproxy:6653' >> conf/standalone.conf
  31. bin/pulsar standalone -nfw -nss