Próbowano postępować zgodnie z instrukcjami dotyczącymi tworzenia obrazu dokera ze strony internetowej dokera.
https://docs.docker.com/examples/running_redis_service/
to jest błąd, który otrzymuję, postępując zgodnie z instrukcjami na dokumencie i używając tego pliku Docker
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y redis-server
EXPOSE 6379
ENTRYPOINT ["/usr/bin/redis-server"]
sudo docker build -t myrepo/redis
docker: "build" requires 1 argument. See 'docker build --help'.
Jak rozwiązać?
docker
containers
Tampa
źródło
źródło
Czy skopiowałeś polecenie kompilacji z innej strony (strony internetowej lub innego pliku)? Spróbuj wpisać go od zera.
Skopiowałem polecenie kompilacji z samouczka AWS i wkleiłem go do terminala i otrzymywałem ten błąd. Doprowadzało mnie to do szału. Po ręcznym wpisaniu zadziałało! Przyglądając się bliżej i moje poprzednie nieudane polecenia, zauważyłem, że znak „myślnik” był inny, był cieńszy, dłuższy znak myślnik niż dostałem, gdybym go sam wpisał za pomocą klawisza „minus / myślnik”.
Zły:
Dobrze:
Czy widzisz różnicę? Cięcie i wklejanie jest trudne.
źródło
Użyj następującego polecenia
Zauważ, że mytag i kropka mają spację między nimi. Ta kropka reprezentuje obecny katalog roboczy.
źródło
Wystarczy podać kropkę (.) Na końcu polecenia, w tym jedną spację.
przykład:
polecenie: docker build -t "blink: v1".
Tutaj możesz zobaczyć „mrugnięcie: v1”, a następnie spację, a następnie kropkę (.)
Otóż to.
źródło
W moim przypadku ten błąd się dzieje w rurociągu Gitlab CI kiedy przechodzącej wielu Gitlab zmienne env się
docker build
z--build-arg
flagami.Okazuje się, że jedna ze zmiennych miała spację, która powodowała błąd. Trudno było znaleźć, ponieważ dzienniki rurociągu właśnie pokazały
$VARIABLE_NAME
.Podaj zmienne środowiskowe, aby spacje były obsługiwane poprawnie.
Zmień z:
do:
źródło
Potrzebujesz DOT na końcu ...
Na przykład:
Jest trochę ukryty, ale jeśli zwrócisz uwagę
.
na koniec ...źródło
Możesz zbudować obraz dokera z pliku o nazwie plik dokera i domyślnie o nazwie plik dokowania. Zawiera zestaw poleceń / instrukcji, których potrzebujesz w kontenerze dokera. Poniższe polecenie tworzy obraz z najnowszym znacznikiem, plik Dockerfile powinien znajdować się w tej lokalizacji (. Oznacza obecny katalog)
Możesz podać plik Docker za pomocą -f, jeśli nazwa pliku nie jest domyślną (Dockerfile) zawartością pliku Sameple Docker.
źródło
W starszych wersjach Dockera wydaje się, że musisz użyć tej kolejności:
docker build -t tag .
i nie
docker build . -t tag
źródło
Otwórz PowerShelland i postępuj zgodnie z tymi instrukcjami. Ten typ błędu występuje typowo w systemie Windows SO. Podczas korzystania z komendy build potrzebna jest opcja i ścieżka.
Występuje tego rodzaju błąd, ponieważ nie określono ścieżki do pliku Docker.
Spróbuj tego:
jeśli chcesz dodać tag
źródło
Jeśli ktoś napotyka ten problem podczas próby oznaczenia
-t
obrazu, a także skompilowania go z pliku, który NIE jest nazwanyDockerfile
(tzn. Nie używa prostej.
ścieżki), możesz to zrobić w następujący sposób:docker build -t my_image -f my_dockerfile .
Zauważ, że doker oczekuje katalogu jako parametru i nazwy pliku jako opcji.
źródło
Mój problem polegał na tym, że plik Dockerfile.txt musiał zostać przekonwertowany na plik wykonywalny systemu Unix. Kiedy to zrobiłem, ten błąd zniknął.
Być może będziesz musiał usunąć część .txt, zanim to zrobisz, ale na komputerze Mac przejdź do terminala i przejdź do katalogu, w którym znajduje się plik Docker i typ
A następnie przekonwertuje plik na plik wykonywalny systemu Unix, który można następnie wykonać za pomocą komendy kompilacji Docker.
źródło
Następujące polecenie działało dla mnie. Plik Docker został umieszczony w folderze my-app-master.
docker build -f my-app-master / Dockerfile -t my-app-master.
źródło
Format polecenia kompilacji Docker
W twojej PowerShell: występuje tego rodzaju błąd, ponieważ nie określiłeś ścieżki do pliku Docker.
Spróbuj tego:
friendlyhello to nazwa, którą przypisujesz swojemu kontenerowi i dodajesz wersję, po prostu użyj : najnowszych
-f C: \ TestDockerApp \ Dockerfile.txt - chcesz dodać znacznik, ponieważ polecenie kompilacji wymaga parametru lub znacznika - DockerFile jest dokumentem tekstowym, więc jawnie dodaj rozszerzenie .txt
** Wypróbuj ten format:
źródło
.
aby wskazać, że bieżący katalog powinien zostać przesłany do mechanizmu dokowania jako kontekst kompilacji.