Docker-compose: нет главного атрибута манифеста в /app.war - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь контейнировать мое приложение для весенней загрузки, однако у меня возникают проблемы с докером ...

docker-compose build
db uses an image, skipping   
Building drools-average-docker-app
Step 1/5 : FROM java:8
 ---> d23bdf5b1b1b
Step 2/5 : VOLUME /tmp
 ---> Using cache
 ---> 6bbb9078c3f0
Step 3/5 : ADD target/DroolsAverage-0.0.1-SNAPSHOT.war DroolsAverage.war
 ---> 8a01751a6ac9
Step 4/5 : RUN bash -c 'touch /DroolsAverage.war'
 ---> Running in 330ed2275089
Removing intermediate container 330ed2275089
 ---> 65cf51ebf28f
Step 5/5 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/DroolsAverage.war"]
 ---> Running in 65357cc5afed
Removing intermediate container 65357cc5afed
 ---> acb6358e4c0e
Successfully built acb6358e4c0e
Successfully tagged drools-average-docker-image:latest

После запуска docker-compose up выдает следующую ошибку

Recreating droolsaverage_drools-average-docker-app_1_2d763cdbed6c ... done
Starting droolsaverage_db_1_efa205bdb880                          ... done
Attaching to droolsaverage_db_1_efa205bdb880, droolsaverage_drools-average-docker-app_1_2d763cdbed6c
db_1_efa205bdb880            | 2018-11-15 21:54:13.781 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
db_1_efa205bdb880            | 2018-11-15 21:54:13.781 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db_1_efa205bdb880            | 2018-11-15 21:54:13.795 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1_efa205bdb880            | 2018-11-15 21:54:13.827 UTC [18] LOG:  database system was shut down at 2018-11-15 21:51:44 UTC
db_1_efa205bdb880            | 2018-11-15 21:54:13.837 UTC [1] LOG:  database system is ready to accept connections
drools-average-docker-app_1_2d763cdbed6c | no main manifest attribute, in /DroolsAverage.war
droolsaverage_drools-average-docker-app_1_2d763cdbed6c exited with code 1

Я не понимаю, почему говорится, что у меня нет основного атрибута манифеста?

Вот мой Main.java

package com.techgap.droolsaverage.droolsaverage;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;


@SpringBootApplication
@ComponentScan (basePackages = {
        "com.techgap.droolsaverage.controller",
        "com.techgap.droolsaverage.model",
        "com.techgap.droolsaverage.util",
        "com.techgap.droolsaverage.config",
        "com.techgap.droolsaverage.exception"
})
public class Main{

     @SuppressWarnings("unused")
    private static ConfigurableApplicationContext ctx;
    @SuppressWarnings("unused")
    private int maxUploadSizeInMb = 10 * 1024 * 1024; // 10 MB

    public static void main(String[] argv) {

        SpringApplication.run(Main.class, argv);
    }
}

Мой docker-compose.yml и Dockerfile

version: '3.1'

services:
  drools-average-docker-app:
    image: drools-average-docker-image
    build:
        context: ./
        dockerfile: Dockerfile
    ports:
        - 8080:8080
  db:
    image: postgres:11-alpine
    environment:
      POSTGRES_DB: 'droolsTestDB'
      POSTGRES_USER: 'postgres'
      POSTGRES_PASSWORD: 'postgres'
    ports:
    - "5432:5432"
~

И Dockerfile

FROM java:8
VOLUME /tmp
ADD target/DroolsAverage-0.0.1-SNAPSHOT.war DroolsAverage.war
RUN bash -c 'touch /DroolsAverage.war'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/DroolsAverage.war"]

Может ли кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 16 ноября 2018

Если вы намереваетесь запустить свое приложение как отдельное приложение, упакуйте его как файл jar вместо файла war.Упаковка как файл военных действий подразумевает, что вы будете развертывать его на веб-сервере, таком как Tomcat, и поэтому опция java -jar не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...