sql >> Databasteknik >  >> RDS >> Mysql

tomcat + mysql + war med docker-compose.yml

För databasen:

Du kanske stöter på samma problem som beskrivs här:https://stackoverflow.com/a/36348572/ 8221303

1. Kör först detta för att ta bort de aktuella behållarna:

docker-compose rm -vf

2. Ta bort databasnamn från skrivfilen.

3. Ändra din databasskapande fil så här:

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. Kör Docker-Compose igen. När behållarna startar bör du se något i stil med detta i stdout:

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

För Tomcat:

Kanske din applikation inte körs på grund av DB-problemet. Men om inte kan du prova följande:

Kontrollera först om WAR-filen är korrekt distribuerad. Anslut till containerbash via:

docker exec -it tomcat bash

Kontrollera om det finns krigsfilen med den utplacerade i webapps-katalogen:

 /usr/local/tomcat/webapps/



  1. hur får man data från mysql i php baserat på url?

  2. SQL Server Databas Replikering

  3. Hur man skapar schema i Oracle med SQL Developer?

  4. MySQL CONCAT returnerar NULL om något fält innehåller NULL