Создание образа Docker с помощью команды копирования

#image #docker

#изображение #docker

Вопрос:

Мой файл Dockerfile: я использую команду копирования в файле docker.

 FROM java:8-jdk-alpine
COPY ./target/microservice-demo-1.jar microservice-demo-1.jar
EXPOSE 8085
RUN sh -c "touch microservice-demo-1.jar"
ENTRYPOINT ["java","-jar","microservice-demo-1.jar"]
  

Когда я пытаюсь запустить этот файл Dockerfile, он выдает ошибку на шаге 2/5
обратитесь к снимку:

 Step 1/5 : FROM java:8-jdk-alpine
8-jdk-alpine: Pulling from library/java
709515475419: Pull complete
38a1c0aaa6fd: Pull complete
5b58c996e33e: Pull complete
Digest: sha256:d49bf8c44670834d3dade17f8b84d709e7db47f1887f671a0e098bafa9bae49f
Status: Downloaded newer image for java:8-jdk-alpine
 ---> 3fd9dd82815c
Step 2/5 : COPY ./target/microservice-demo-1.jar microservice-demo-1.jar
COPY failed: stat /var/snap/docker/common/var-lib-docker/tmp/docker-builder908791064/target/microservice-demo-1.jar: no such file or directory
ubuntu@ip-172-31-34-222:~/dockerfile$
  

Комментарии:

1. Не могли бы вы показать свое дерево проекта? Где находятся Dockerfile и jar? Кстати, почему вы вызываете команду touch в 4-й строке?

Ответ №1:

В dockerfile попробуйте выполнить следующее.

КОПИРОВАТЬ ./host-or-local-path /docker-container-full-path

Это должно сработать.