version: '3.9' services: db_ihx: image: ubuntu/mysql:8.0-22.04_beta container_name: ${db_Container_Name} environment: MYSQL_ROOT_PASSWORD: ${db_Root_Password} MYSQL_DATABASE: ${db_Name} MYSQL_USER: ${db_User} MYSQL_PASSWORD: ${db_Password} volumes: - ${HOME}/Docker/IHX_Access_Pro/${cliente}/mysql_data:/var/lib/mysql - ${HOME}/Docker/IHX_Access_Pro/${cliente}/Config/custom.cnf:/etc/mysql/conf.d/custom.cnf # Monta o .env para pegar informação das variáveis - ${HOME}/Docker/IHX_Access_Pro/${cliente}:/.p455/.env # Monta o diretório para s3nh4 do usuario - ${HOME}/Docker/IHX_Access_Pro/${cliente}/Config:/.p455 - ${HOME}/Docker/IHX_Access_Pro/${cliente}/Config/mysql-entrypoint.sh:/usr/local/bin/mysql-entrypoint.sh entrypoint: ["/bin/bash", "/usr/local/bin/mysql-entrypoint.sh"] # Customização e saúde do conteiner deploy: resources: limits: # Limita o uso da CPU pelo contêiner a 2 núcleos. cpus: '2' # Limita o uso de memória pelo contêiner a 2GB. memory: 2G healthcheck: # Verifica a integridade do contêiner usando curl para acessar a porta 3306. test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] # O intervalo entre cada verificação de integridade. interval: 30s # O tempo máximo que uma verificação de integridade pode levar antes de ser considerada uma falha. timeout: 10s # O número de falhas consecutivas na verificação de integridade necessárias para que o contêiner seja considerado não íntegro. retries: 6 ports: - "${porta_db}:3306" restart: always networks: - ihx-net ihx: image: talesam/ihx_access_pro:1.2 container_name: ${app_Container_Name} depends_on: - db_ihx environment: DATABASES_DEFAULT_ENGINE: django.db.backends.mysql DATABASES_DEFAULT_NAME: ${db_Name} DATABASES_DEFAULT_HOST: ${db_Container_Name} DATABASES_DEFAULT_USER: ${db_User} DATABASES_DEFAULT_PASSWORD: ${db_Password} DATABASES_DEFAULT_PORT: 3306 volumes: # Monta as pastas app e ihx - ${HOME}/Docker/IHX_Access_Pro/${cliente}/ihx_access_pro/app:/ihx_access_pro/app - ${HOME}/Docker/IHX_Access_Pro/${cliente}/ihx_access_pro/ihx:/ihx_access_pro/ihx # Montando script que é executado dentro do conteiner - ${HOME}/Docker/IHX_Access_Pro/${cliente}/Config/entrypoint.sh:/entrypoint.sh entrypoint: ["/bin/bash", "/entrypoint.sh"] # Customização e saúde do conteiner deploy: resources: limits: # Limita o uso da CPU pelo contêiner a 2 núcleos. cpus: '2' # Limita o uso de memória pelo contêiner a 2GB. memory: 2G healthcheck: # Verifica a integridade do contêiner usando curl para acessar a porta 3306. test: ["CMD", "curl", "-f", "http://127.0.0.1:80"] # O intervalo entre cada verificação de integridade. interval: 30s # O tempo máximo que uma verificação de integridade pode levar antes de ser considerada uma falha. timeout: 10s # O número de falhas consecutivas na verificação de integridade necessárias para que o contêiner seja considerado não íntegro. expose: - 80 restart: always networks: - ihx-net - npm-net networks: ihx-net: name: ${network_Name} npm-net: external: true