Запуск консольного приложения (CLI) из docker-composeJAVA

Программисты JAVA общаются здесь
Anonymous
Запуск консольного приложения (CLI) из docker-compose

Сообщение Anonymous »

Есть Java-код:

Код: Выделить всё

public class Hello {
public static void main(String[] args) {
System.out.println("Enter Name");

Scanner reader = new Scanner(System.in);
String s = reader.nextLine();
System.out.println("Hello " + s);
}
}
Файл Docker:

Код: Выделить всё

FROM openjdk:latest
COPY /src/Hello.java /app/
WORKDIR /app/
RUN ["javac", "Hello.java"]
ENTRYPOINT ["java", "Hello"]
docker_compose.yml

Код: Выделить всё

version: "3.0.0"

name: ar
services:
app:
build: .
Я хотел бы запустить приложение из docker-compose и взаимодействовать с ним.
Я пробовал:
< ol>
[*]войдите в приложение терминала

Код: Выделить всё

docker compose up -d docker exec -it container_id /bin/bash
но это дало мне доступ к терминалу контейнера, а не приложения. Поэтому команду «java Hello» пришлось продублировать вручную
  • зайти в терминальное приложение
    < /ol>

    Код: Выделить всё

    docker-compose logs container_id 
    но это не позволило мне ввести текст
  • измените docker_compose.yml

    Код: Выделить всё

     version: "3.0.0"
    name: app
    services:
    mav:
    build: .
    stdin_open: true
    tty: true
    
но в результате у меня заблокировалась консоль в точке ввода текста
  • изменить версии docker-compose


Подробнее здесь: https://stackoverflow.com/questions/784 ... er-compose

Вернуться в «JAVA»