Проблемы с развертыванием проекта с docker - PullRequest
2 голосов
/ 13 апреля 2020

Я недавно начал пытаться использовать docker более продвинутым способом. Я уже использовал его для создания mysql серверных и postgres серверных контейнеров. На данный момент у меня есть тестовый проект Spring, который запускается нормально при запуске. Но я попытался создать то же самое с docker, он успешно создает mysql сервер и создает экземпляр tomcat, но он не go сам проект.

Содержимое Dockerfile:

FROM tomcat:9-jre11
ENV CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=America/Sao_Paulo -Xms1024m -Xmx2560m -XX:+UseParallelGC -XX:-OmitStackTraceInFastThrow"
ADD ./smartCircuit/target/*.war $CATALINA_HOME/webapps/
EXPOSE 8080
CMD catalina.sh run;

docker -compose.yaml content:

version: '3.5'

services:
  db:
    image: mysql:5.7
    restart: always
    container_name: mysql-container
    environment:
      MYSQL_DATABASE: 'smart_circuit'
      MYSQL_USER: 'user'
      MYSQL_PASSWORD: 'password'
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      # <Port exposed> : < MySQL Port running inside container>
      - '3307:3306'
    expose:
      # Opens port 3306 on the container
      - '3306'
      # Where our data will be persisted
    volumes:
      - my-db:/var/lib/mysql
  web:
    build: .
    container_name: tomcat
    ports:
      - 8080:8080
    environment:
      DB_URL: jdbc:mysql://mysql-container:3306/smart_circuit?useSSL=false
      DB_USER: user
      DB_PASSWORD: password
    links:
      - db:mysql-container
# Names our volume
volumes:
  my-db:

Я ожидаю, что мое приложение запустится и будет доступно, когда я использую команду "sudo docker -compose up - строить». Например, у меня есть один сопоставленный «проект» RestController с методом сопоставленного «найти», который получает идентификатор и либо извлекает его при обнаружении, либо выдает исключение NotFoundException. Когда я запускаю его через InteliJ без docker, он работает, но когда я запускаю его через docker, я получаю возврат Tomcat 404 Not Found. По сути, я могу без проблем получить доступ к экземпляру mysql, и Tomcat работает, но сам проект не развертывается.

...