Ошибка добавления: stat /var/lib/docker/tmp/docker-builderXYZ/myapp.jar: такого файла или каталога нет - PullRequest
0 голосов
/ 09 апреля 2019

Я поместил Dockerfile в корень проекта.

, что означает, что существует каталог ./target, и в нем maven создает файл spring-boot-web-0.0.1-SNAPSHOT.jar.

Теперь я хочу добавить, чтов образ докера:

FROM centos

RUN yum install -y java    # `-y` defaults questions to 'yes'

VOLUME /tmp                # where Spring Boot will store temporary files

WORKDIR /                  # self-explanatory

ADD /target/spring-boot-web-0.0.1-SNAPSHOT.jar myapp.jar # add fat jar as "myapp.jar"

RUN sh -c 'touch ./myapp.jar' # updates dates on the application (important for caching)

EXPOSE 8080                # provide a hook into the webapp

# run the application; the `urandom` gets tomcat to start faster
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/myapp.jar"]

Это ADD не удалось:

ADD failed: stat /var/lib/docker/tmp/docker-builder119635304/myapp.jar: no such file or directory

1 Ответ

1 голос
/ 09 апреля 2019

Решение, по-видимому, заключается в перемещении комментариев к их собственным строкам, поскольку они будут нарушать команды, если они находятся в той же строке, что и они.

Dockerfile отлично работает:

# a linux runtime environment
FROM centos

# install java; `-y` defaults questions to 'yes'
RUN yum install -y java

# where Spring Boot will store temporary files
VOLUME /tmp

# self-explanatory
WORKDIR /

# add fat jar as "myapp.jar"
ADD /target/spring-boot-web-0.0.1-SNAPSHOT.jar myapp.jar

# updates dates on the application (important for caching)
RUN sh -c 'touch ./myapp.jar'

# provide a hook into the webapp
EXPOSE 8080

# run the application; the `urandom` gets tomcat to start faster
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/myapp.jar"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...