Mysql
 sql >> Base de données >  >> RDS >> Mysql

tomcat + mysql + guerre en utilisant docker-compose.yml

Pour la base de données :

Peut-être rencontrez-vous le même problème que celui décrit ici :https://stackoverflow.com/a/36348572/ 8221303

1. Commencez par exécuter ceci pour supprimer les conteneurs actuels :

docker-compose rm -vf

2. Supprimer le nom de la base de données du fichier de composition.

3. Modifiez votre fichier de création de base de données comme ceci :

CREATE DATABASE `my-test-app`;
USE my-test-app;

CREATE TABLE EMPLOYEE (
  EMPLOYEE_ID BIGINT(20) NOT NULL AUTO_INCREMENT,
  NAME VARCHAR(65) NOT NULL,
  DOB DATETIME DEFAULT NULL,
  GENDER VARCHAR(10) NOT NULL,
  MOBILE VARCHAR(65) DEFAULT NULL,
  EMAIL VARCHAR(60) DEFAULT NULL,
  PRIMARY KEY (EMPLOYEE_ID)
) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4;


INSERT INTO EMPLOYEE (NAME, DOB, GENDER, MOBILE, EMAIL) VALUES ("Zaw Than Oo", '1986-12-02', 'MALE', '09420000773', '[email protected]');
INSERT INTO EMPLOYEE (NAME, DOB, GENDER, MOBILE, EMAIL) VALUES ("Myo Thiha Kyaw", '1990-10-25', 'MALE', '0942568971', '[email protected]');
INSERT INTO EMPLOYEE (NAME, DOB, GENDER, MOBILE, EMAIL) VALUES ("Htet Wai Yan Kyaw", '1991-12-15', 'MALE', '0942025023', '[email protected]');

4. Exécutez à nouveau Docker-Compose. Lorsque les conteneurs démarrent, vous devriez voir quelque chose comme ceci dans la sortie standard :

/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/DB_INIT.sql

Pour le Tomcat :

Peut-être que votre application ne s'exécute pas à cause d'un problème de base de données. Sinon, vous pouvez essayer ce qui suit :

Vérifiez d'abord si le fichier WAR est déployé correctement. Connectez-vous au bash du conteneur via :

docker exec -it tomcat bash

Vérifiez s'il y a le fichier war avec celui déployé dans le répertoire webapps :

 /usr/local/tomcat/webapps/