Für die Datenbank:
Vielleicht haben Sie das gleiche Problem wie hier beschrieben:https://stackoverflow.com/a/36348572/ 8221303
1. Führen Sie zunächst dies aus, um die aktuellen Container zu löschen:
docker-compose rm -vf
2. Entfernen Sie den Datenbanknamen aus der Compose-Datei.
3. Ändern Sie Ihre Datenbankerstellungsdatei wie folgt:
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. Führen Sie Docker-Compose erneut aus. Wenn die Container starten, sollten Sie in der Standardausgabe so etwas sehen:
/usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/DB_INIT.sql
Für den Kater:
Möglicherweise läuft Ihre Anwendung aufgrund des DB-Problems nicht. Aber wenn nicht, können Sie Folgendes versuchen:
Überprüfen Sie zunächst, ob die WAR-Datei korrekt bereitgestellt wird. Verbinden Sie sich mit der Container-Bash über:
docker exec -it tomcat bash
Überprüfen Sie, ob sich die WAR-Datei mit der bereitgestellten im Verzeichnis webapps befindet:
/usr/local/tomcat/webapps/