Olá Pessoal Boa noite.
Nunca usei este fórum mas fiquei intricado com uma coisa. Estou fazendo um deploy de três serviços. Uma aplicação em Java chamada opencms (gestor de conteúdo como wp ) um banco de dados mariadb e um phpmyadmin para gestão da interface do banco de dados. Eu peguei o docker compose oficial no repositório da opencms e rodei um docker compose com essas configurações:
version: '3.7'
services:
mariadb:
image: mariadb:latest
container_name: mariadb
init: true
restart: always
volumes:
- ~/dockermount/opencms-docker-mysql:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
networks:
- opencms-net
opencms:
image: rcventura/opencms-mariadb-phpadmin:v1.0.0
container_name: opencms
init: true
restart: always
depends_on: [ "mariadb" ]
links:
- "mariadb:mysql"
ports:
- "80:8080"
volumes:
- ~/dockermount/opencms-docker-webapps:/usr/local/tomcat/webapps
#command: ["/root/wait-for.sh", "mysql:3306", "-t", "30", "--", "/root/opencms-run.sh"]
environment:
- "DB_PASSWD=${DB_PASSWD}"
networks:
- opencms-net
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
ports:
- 8080:80
depends_on:
- mariadb
links:
- "mariadb:mysql"
environment:
- "MYSQL_ROOT_PASSWORD= ${MYSQL_ROOT_PASSWORD}"
- PMA_HOST=${PMA_HOST}
networks:
- opencms-net
volumes:
mysql-data:
webapps:
networks:
opencms-net:
driver: bridge
Tudo perfeito. Então resolvi subir o mesmos serviços na AWS ECS para simular um ambiente de produção . Segui os passos do professor e o que aconteceu é que minhas configurações de containers, todos rodam. Acesso o phpadmin mas quando tento acessar a aplicação opencms ele renderiza uma página sem conteúdo. Quando eu analiso os logs percebo que houve um erro de conexão com o banco de dados mariadb diz assim :
Exception: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=mysql)(port=3306)(type=master) : Socket fail to connect to host:mysql, port:3306. mysql
ou seja a aplicação opencms não conseguiu acessar o banco de dados para buscar os plugins e recursos para o uso correto da aplicação. Também quando eu tento fazer uma conexão ao mariadb via phpmyadmin consigo acessar o serviço mas percebo que o banco de dados da aplicação não foi criado. Apenas existem tabelas do mysql.
Estou achando que é algo de rede, DNS e resolução CNAME..