无法从带有Java进程的Docker控制台分离



我不能从一个Docker容器中分离后,我附加到它。

Dockerfile来定义容器:

FROM adoptopenjdk/openjdk16:debian
WORKDIR /app
STOPSIGNAL SIGTERM
RUN apt-get update && apt-get install -y curl && apt clean
CMD curl -so server.jar https://ci.tivy.ca/job/Airplane-1.17/lastSuccessfulBuild/artifact/launcher-airplane.jar && java -jar server.jar

使用:docker build -t minecraft .

构建容器docker-compose文件:

version: "3.7"
services:
mc:
container_name: mc
ports:
- 25565:25565
image: minecraft
volumes:
- type: bind
source: /root/mc
target: /app

使用:docker-compose up mc

启动容器我试图连接到控制台与docker attach mc,它的工作。但我并非无法脱离屏幕。Ctrl+C不起作用。Ctrl+P和Ctrl+Q不起作用。写stop(将停止java进程的命令)不工作

我试图连接docker attach --detach-keys="ctrl-d" mc,但不工作

Java进程永不结束

自行修复。需要插入stdin_open和ttindocker -compose文件。新docker-compose.yml:

version: "3.7"
services:
mc:
container_name: mc
ports:
- 25565:25565
image: minecraft
volumes:
- type: bind
source: /root/mc
target: /app
stdin_open: true
tty: true

将在两天内设置此答案作为解决方案,因为stackoverflow规则

相关内容

  • 没有找到相关文章

最新更新