gpt4 book ai didi

Docker-compose 无法运行 jar 文件,但可以使用 Dockerfile

转载 作者:行者123 更新时间:2023-12-04 20:33:25 24 4
gpt4 key购买 nike

我已经配置了下一个 Dockerfile,它工作正常:

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD farr-api-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

现在我想运行相同但使用 docker-compose,所以我尝试使用相同的 sintaxys,这是我的 docker-compose.yml:

Docker-compose.yml:
jar:
image: frolvlad/alpine-oraclejdk8:slim
volumes:
- /tmp
add: "farr-api-0.1.0.jar" "app.jar"
command: sh -c 'touch /app.jar'
environment:
JAVA_OPTS=""
entrypoint: [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

它抛出下一个失败:
ERROR: yaml.parser.ParserError: while parsing a block mapping
in "./docker-compose.yml", line 2, column 3
expected <block end>, but found '<scalar>'
in "./docker-compose.yml", line 5, column 29

我认为这可能是sintax问题

Docker-compose 版本 1.8.1

最佳答案

您的 docker-compose.yml 中有两个语法错误文件:

  • Docker-Compose 不支持 add命令。如果要将文件添加到容器中,则必须在 Dockerfile 中执行此操作。 (并从撰写文件中使用它),或通过 volume 映射到文件中.
      volumes:
    - "./farr-api-0.1.0.jar:/app.jar"
  • environment部分需要一个数组 - 您需要前缀 JAVA_OPTS带破折号的线:
      environment:
    - JAVA_OPTS=""

  • 您可以在 Docker-Compose documentation 中找到更多详细信息

    关于Docker-compose 无法运行 jar 文件,但可以使用 Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40585404/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com