Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Finally, create the docker-compose.yml file:

    Code Block
    vim/opt/zw-vmmc-docker/tomcat/conf/log4j2.json
  2. And past the next content:

    Code Block
    services:
      tomcat:
        build:
          context: ./tomcat
        image: tomcat
        container_name: tomcat
        ports:
          - "8080:8080"
        volumes:
          - ./tomcat/webapps:/usr/local/tomcat/webapps/
          - ./tomcat/conf/log4j2.json:/usr/local/tomcat/conf/log4j2.json
        depends_on:
          - node_container
          - kafka-broker
    
        restart: unless-stopped
        networks:
          - dws-network
    
      mongo:
        image: mongo:latest
        ports:
          - "27017:27017"
        restart: unless-stopped
        networks:
          - dws-network
        environment:
          - MONGO_INITDB_ROOT_USERNAME=<user-mongo>
          - MONGO_INITDB_ROOT_PASSWORD=<pwd<user-mongo>
          - MONGO_INITDB_DATABASE=dev
        volumes:
          - ./mongo/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
          - ./mongo/backups:/backupbackups
          - ./mongo/entrypoint.sh:/entrypoint.sh
          - ./mongo/data:/data
    
      mongo-seed:
        image: mongo:latest
        depends_on:
          - mongo
        networks:
          - dws-network
        restart: no
        volumes:
           - ./mongo/backups:/backupbackups
        entrypoint: ["sh", "-c", "sleep 20 && mongorestore --host ./mongo --port 27017 --username <user-mongo> --password <pwd-mongo> --authenticationDatabase admin --gzip --archive=/backup/prod-backup.gz&&mongorestore --host mongo --port 27017 --username gaspar --password gaspar --authenticationDatabase admin --gzip --archive=/backup/log-backup.gz  && exit "]
      
      /entrypoint.sh:/entrypoint.sh
        entrypoint: ["sh","./entrypoint.sh"]
        command: tail -f /dev/null
     
      node_container:
        build:
          context: ./node_container
        image: node_container
        container_name: node_container
        # depends_on:
        #   - mongo
        ports:
          - "3000:3000"
          - "3002:3002"
          - "3015:3015"
        volumes:
          - ./node_container/services:/usr/src/app/
        restart: unless-stopped
        networks:
          - dws-network
      
      kafka-broker:
        image: wurstmeister/kafka
        container_name: kafka-broker
        ports:
          - "9092:9092"
        environment:
          KAFKA_ADVERTISED_HOST_NAME: kafka-brokerLISTENER: INSIDE_KAFKA:9092
          KAFKA_ZOOKEEPERLISTENER_SECURITY_CONNECTPROTOCOL: zookeeper:2181PLAINTEXT
          depends_on:
    KAFKA_LISTENER_INTERCEPTOR_CLASSES: "io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor"
          KAFKA_LISTENER_NAME_INTERNAL: INSIDE_KAFKA
    - zookeeper     restartKAFKA_LISTENER_PORT: unless-stopped9092
        networks:  KAFKA_ADVERTISED_HOST_NAME: kafka-broker
       - dws-network  KAFKA_ZOOKEEPER_CONNECT:  zookeeper:2181
          imageKAFKA_LOG_DIRS: wurstmeister/zookeeper/kafka/kafka-logs
          container_nameKAFKA_DEFAULT_REPLICATION_FACTOR: zookeeper1
          portsKAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
         - "2181:2181" KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
          restart: unless-stoppedKAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
          networks:KAFKA_DELETE_TOPIC_ENABLE: true 
        volumes:
      - dws-network   - nginx:./kafka-logs:/kafka/kafka-logs
        builddepends_on:
          context: ./nginx- zookeeper
        volumesrestart: unless-stopped
         - ./nginx/nginx.conf:/etc/nginx/nginx.confnetworks:
          - ./nginx/certs:/etc/ssl/certsdws-network
    
    # SSL certificateszookeeper:
        portsimage: wurstmeister/zookeeper
        container_name: - "443:443"  # Exponer el puerto 443 para HTTPSzookeeper
        environment:
          ZOOKEEPER_SERVER_ID: 1
          dependsZOOKEEPER_LISTENER_onPORT: 2181  
       - tomcatports:
          - node_container"2181:2181"
        restart: alwaysunless-stopped
        networks:
          - dws-network
    
    networks:
      dws-network:
        driver: bridge
    
  3. You will need to replace <user-mongo> and <pwd-mongo> with a username and password of your choice. Make sure the password is strong. You will find each one twice, (lines 26, 27, and 42).

...