Mam taki, Dockerfile
który ma budować Ubuntu
obraz. Ale kiedy kiedykolwiek biegam
docker build -t ubuntu-test:latest ./Dockerfile
Pokazuje następujący błąd na konsoli
nie można przygotować kontekstu: kontekst musi być katalogiem: / Users / tempUser / git / docker / Dockerfile
Jestem na Mac OsX. Ja też próbowałem sudo
. Nic nie działa.
docker
dockerfile
Damien-Amen
źródło
źródło
Możesz także uruchomić kompilację dockera z
-f
opcjądocker build -t ubuntu-test:latest -f Dockerfile.custom .
źródło
docker build -t my-custom-name -f /path_to_my_docker_file/Dockerfile-abcd .
Aby określić czas
Dockerfile
kompilacji, możesz użyć:Ale to się nie powiedzie, jeśli istnieje
ADD
lubCOPY
polecenie, które zależy od ścieżki względnej. Istnieje wiele sposobów określeniacontext
fordocker build
, możesz zapoznać się z dokumentacją kompilacji dockera, aby uzyskać więcej informacji.źródło
docker build -t ubuntu:12.04 - < Dockerfile
Musisz być w katalogu głównym pliku DockerfileZrozum konteksty
docker build
komendaPodstawowa składnia polecenia kompilacji platformy Docker to
Kontekst
Kontekst jest katalogiem i określa, co zobaczy proces budowania platformy Docker: Z punktu widzenia pliku Dockerfile każdy plik
context_dir/mydir/myfile
w systemie plików stanie się/mydir/myfile
plikiem Dockerfile, a tym samym podczas procesu kompilacji.Plik dockerfile
Jeśli plik dockerfile jest wywoływany
Dockerfile
i żyje w kontekście, zostanie znaleziony niejawnie przez konwencję nazewnictwa. To miłe, ponieważ oznacza to, że zwykle można od razu znaleźć plik Dockerfile w dowolnym kontenerze dockera.Jeśli nalegasz na użycie innej nazwy, powiedz „/ tmp / mydockerfile”, możesz użyć
-f
tego:ale wtedy plik dockerfile nie będzie w tym samym folderze lub przynajmniej będzie trudniejszy do znalezienia.
źródło
To proste, gdy uruchamiana jest kompilacja Dockera, docker chce wiedzieć, jaka jest nazwa obrazu, więc musimy przekazać -t:. Teraz upewnij się, że jesteś w tym samym katalogu, w którym masz plik Dockerfile i uruchom
docker build -t <image_name>:<version> .
Przykładdocker build -t my_apache:latest .
zakładając, że jesteś w tym samym katalogu, co plik Dockerfile, w przeciwnym razie przekaż flagę -f i plik Dockerfile.docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile
źródło
docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile
(zwróć uwagę na dodanie.
na końcu)Mam ten sam problem. Używam
docker version:17.09.0-ce
.Wykonuję poniższe kroki:
$ sudo docker build -t ubuntu-test:latest .
Rozwiązano problem i pomyślnie utworzono obraz.
Uwaga: polecenie budowania zależy od wersji dockera, a także od używanej opcji kompilacji. :)
źródło
Jednym z powodów, dla których otrzymuję błąd, była nazwa pliku, upewnij się, że nazwa pliku to Dockerfile. Rozgryzłem to, mam nadzieję, że może to komuś pomóc.
źródło