![](/img/trans.png)
[英]How to run Dockerfile or docker-compose file from automation suite
[英]Docker-compose failing to run a jar file but works with Dockerfile
我已經配置了下一個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:
碼頭工人,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
執行此Dockerfile
(並使用compose文件中的文件),或者通過volume
映射文件。
volumes: - "./farr-api-0.1.0.jar:/app.jar"
environment
部分需要一個數組 - 您需要在JAVA_OPTS
行前加一個破折號:
environment: - JAVA_OPTS=""
您可以在Docker-Compose文檔中找到更多詳細信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.