将外壳放入Java图像

问题描述 投票:0回答:1
docker ps -a

中看到了它,但它已经退出。

我正在使用的文件是docker-compose的。

version: '3.1' services: db: image: postgres restart: always environment: POSTGRES_PASSWORD: postgres volumes: - datavolume:/var/lib/postgresql java: image: openjdk:8 volumes: datavolume:

    

docker容器通常运行一个过程。 就像仅在没有附加的应用程序的情况下运行JVM并不是很有意义的方式,运行具有JVM的Docker容器,但没有添加实际的应用程序并不是那么有用。

您应该写一个Dockerfile,将您的应用程序的JAR文件添加到基本Java映像中;例如
FROM openjdk:8
COPY app.jar /
CMD ["java", "-jar", "/app.jar"]
java docker
1个回答
2
投票
docker-compose.yml

文件可以具有构建和运行此image的说明

services: java: build: .

如果您只想在图像的副本中放一个外壳来戳四周并查看那里的东西,那么通常可以运行
docker run --rm -it openjdk:8 sh

标准openjdk dockerfile不明确声明任何特定的入口点或cmd,因此运行时它将立即退出。  (它可能继承了一个默认的
/bin/sh

,但是没有运行的命令,这也将立即退出。)您可以在Dockerfile中声明其他一些
command:
导致“服务”不退出,但并没有真正对您有用。

docker run -it openjdk:25-ea-jdk bash

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.