Проблемы с контейнером докеров моего простого проекта Spring Boot

#java #docker

#java #docker

Вопрос:

Мой файл docker-compose.yml

   version: "3.9"
  services:
    webapp:
     image: springbootproject
       build: .
     ports:
       - "8085:8085"
     depends_on:
       - postgres
       - pgadmin
   postgres:
      container_name: postgres_container
 image: postgres
 environment:
   POSTGRES_USER: postgres
   POSTGRES_PASSWORD: 12345
   PGDATA: /data/postgres
volumes:
   - postgres:/data/postgres
 ports:
  - "5432:5432"
networks:
  - postgres
restart: unless-stopped

 pgadmin:
   container_name: pgadmin_container
   image: dpage/pgadmin4
 environment:
   PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
   PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
   PGADMIN_CONFIG_SERVER_MODE: 'False'
volumes:
   - pgadmin:/root/.pgadmin

ports:
  - "${PGADMIN_PORT:-80}:80"
networks:
  - postgres
restart: unless-stopped

networks:
   postgres:
     driver: bridge

volumes:
 postgres:
 pgadmin:
 

Dockerfile

   FROM adoptopenjdk:11-jre-hotspot
  ARG JAR_FILE=target/*.jar
  COPY ${JAR_FILE} springmvcrestapi.jar
  EXPOSE 8085
  ENTRYPOINT ["java","-jar","springmvcrestapi.jar"]
 

Привет всем, мой простой проект с использованием терминала docker inteelij ide, пишущий docker -создайте рабочий контейнер postgre и pgadmin, но ошибка в изображениях моего проекта: невозможно получить доступ к jarfile springmvcrestapi-0.0.1-SNAPSHOT.jar В чем же проблема ??

Комментарии:

1. Откажитесь Dockefile от выполнения instead run mvn spring-boot:build-image , чтобы позволить Spring Boot создать образ, что избавит вас от лишних хлопот.

2. не работает mvn spring-boot: в сборке образа те же ошибки

3. Как указано, удалите Dockerfile и запустите сборку. Если вы оставите dockerfile, он будет использоваться вместо него.

4. Не работает Deinum

5. Какого пользователя вы запускаете внутри контейнера и есть ли у этого пользователя разрешения на запуск JAR? Кроме того, можете ли вы убедиться, что JAR успешно скопирован? Вы можете побежать docker run -it --entrypoint bash <image_name> исследовать контейнер.