Docker ADD failed no such file or directory

Odpowiedz Nowy wątek
2018-05-03 23:04

Rejestracja: 8 lat temu

Ostatnio: 8 miesięcy temu

0

Dockerfile:

FROM centos

RUN yum install -y java

VOLUME /tmp
ADD /task-0.0.1SNAPSHOT.jar myapp.jar
RUN sh -c 'touch /myapp.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/myapp.jar"]

Odpalam komendę docker build -t task . i dostaję:

title

Ktoś miał wcześniej taki problem ?

edytowany 1x, ostatnio: slayer9, 2018-05-03 23:15

Pozostało 580 znaków

2018-05-03 23:54

Rejestracja: 2 lata temu

Ostatnio: 1 rok temu

0

nooo.. przecież wyraźnie Ci mówi że nie ma takiego pliku do skopiowania XD

Czy w miejscu w którym robisz builda masz ten plik ? zresztą, ten trailing slash to tak nie za bardzo chyba zadziała.


small data and high latency
edytowany 1x, ostatnio: rubaszny_karp, 2018-05-03 23:54

Pozostało 580 znaków

2018-05-04 00:10

Rejestracja: 8 lat temu

Ostatnio: 8 miesięcy temu

0

Tak, wiem o czym mówi komunikat, ale nie wiem jak to naprawić. Plik *.jar i Dockerfile mam w tym samym folderze w którym robię builda. Próbowałem je wrzucić do tej lokalizacji która jest w treści errora, ale ona nawet nie istnieje.

zresztą, ten trailing slash to tak nie za bardzo chyba zadziała.

To jak to powinienem zrobić ?

Pozostało 580 znaków

2018-05-04 00:29

Rejestracja: 2 lata temu

Ostatnio: 1 rok temu

0

ADD /task-0.0.1SNAPSHOT.jar myapp.jar
?
ADD ./task-0.0.1SNAPSHOT.jar myapp.jar
?
ADD task-0.0.1SNAPSHOT.jar myapp.jar

przecież możesz spróbować kilku randomowych kombinacji, w końcu zadziała.


small data and high latency
edytowany 1x, ostatnio: rubaszny_karp, 2018-05-04 00:29

Pozostało 580 znaków

2018-05-04 08:12

Rejestracja: 8 lat temu

Ostatnio: 8 miesięcy temu

0

Próbowałem te kombinacje, jak i kilka innych (pełna ścieżka itd). Zanim napisałem tutaj posta, z 2h szukałem rozwiązania na stacku i forum github i okazuje się, że wiele osób ma ten problem i nie jest to takie banalne. A przynajmniej na Windowsie, bo na macu podobno odpala od razu.

na unixie nigdy takiego problemu nie miałem. Zmień system albo buduj na virtualboxie - rubaszny_karp 2018-05-04 08:45
Buduję właśnie na Oracle VM VirtualBox i dostaję ten error. W sumie jak instalowałem Dockera to automatycznie mi się virtualBox zainstalował i na nim się domyślnie Docker uruchamia. (Dopiero teraz to zobaczyłem). - slayer9 2018-05-04 17:19

Pozostało 580 znaków

2018-05-04 09:27

Rejestracja: 3 lata temu

Ostatnio: 1 tydzień temu

0

Dockerfile i task-0.0.1SNAPSHOT.jar powinny być w jednym katalogu wtedy ADD task-0.0.1SNAPSHOT.jar myapp.jar . Poczytaj o różnicy między ADD a COPY, jeżeli nie musisz to nie korzystaj z ADD a z COPY, ponieważ ADD rozpakowuje w locie skompresowane archiwum jak również możesz pobierać pliki z sieci.

edytowany 1x, ostatnio: lukaszowaty, 2018-05-04 09:28

Pozostało 580 znaków

2018-05-04 17:15

Rejestracja: 8 lat temu

Ostatnio: 8 miesięcy temu

0
lukaszowaty napisał(a):

Dockerfile i task-0.0.1SNAPSHOT.jar powinny być w jednym katalogu wtedy ADD task-0.0.1SNAPSHOT.jar myapp.jar .

title

Poczytaj o różnicy między ADD a COPY, jeżeli nie musisz to nie korzystaj z ADD a z COPY, ponieważ ADD rozpakowuje w locie skompresowane archiwum jak również możesz pobierać pliki z sieci.

title

Próbowałem też z copy niestety bez rezultatów.

Pozostało 580 znaków

2018-05-04 18:05

Rejestracja: 2 lata temu

Ostatnio: 1 rok temu

0

a możesz w tym dockerfile (bo nigdy nie próbowałem) odpaliś PWD i LS ? gdzie to wgl się znajduje w momencie budowania ? spróbuj podać pełny path do tego pliku, to też opcja.


small data and high latency

Pozostało 580 znaków

2018-05-04 18:34

Rejestracja: 8 lat temu

Ostatnio: 8 miesięcy temu

0
rubaszny_karp napisał(a):

a możesz w tym dockerfile (bo nigdy nie próbowałem) odpaliś PWD i LS ?

Nie dało rady. Unknown instruction.

gdzie to wgl się znajduje w momencie budowania ? spróbuj podać pełny path do tego pliku, to też opcja.

Najpierw było w Moich Dokumentach, ale przeniosłem teraz na C:/dockertest i jest to samo. Próbowałem z tym pełnym pathem, ale po prostu pełna ścieżka jest dopisywana do tej istniejącej i mam coś w stylu: ADD failed: stat /mnt/sda1/var/lib/docker/tmp/dockerbuilderXXXXX/C:/dockertest (...) Poza tym z dokumentacji:

ADD obeys the following rules:

    The <src> path must be inside the context of the build; you cannot ADD ../something /something, because the first step of a docker build is to send the context directory (and subdirectories) to the docker daemon.

Okej, ale czym jest to Docker context directory ? Jeżeli to mnt/sda1/var... to próbowałem to wyszukać na dysku i wsadzić tam *.jar z Dockerfile, ale problem w tym, że taka lokalizacja u mnie nie istnieje, jest chyba tworzona dopiero w trakcie inicjalizacji docker build, bo te cyfry w nazwie folderu docker-builderXXXXXX za każdym razem są inne.

Pozostało 580 znaków

Uczynny Rycerz
2018-05-04 18:42
Uczynny Rycerz
0

Spróbuj coś w ten sposób po kombinoać: docker build -t <image:version> -f ./Dockerfile . np. docker build -t nargit/akuna-mata:latest -f Dockerfile .
Oczywiście pozostsając w katalogu z Dockerfile lub podając scieżke. Na linuxie nie ma z tym problemu.

Pozostało 580 znaków

2018-05-04 19:37

Rejestracja: 8 lat temu

Ostatnio: 8 miesięcy temu

0

Niestety bez efektu. Zaktualizowałem też wersję do 18.03.0, bo tam podobno można dodawać pliki ADDem spoza build context, ale też nie działa. Dodałem też parametr WORKDIR C:/dockertest do Dockerfile, ale dalej ten sam error.

edytowany 2x, ostatnio: slayer9, 2018-05-04 19:37

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0