У меня Dockerfile
есть программа для создания Ubuntu
образа. Но когда я бегу
docker build -t ubuntu-test:latest ./Dockerfile
На консоли отображается следующая ошибка
невозможно подготовить контекст: контекст должен быть каталогом: / Users / tempUser / git / docker / Dockerfile
Я использую Mac OsX. Я тоже пытался sudo
. Ничего не получается.
docker
dockerfile
Дамьен-Аминь
источник
источник
Вы также можете запустить сборку докеров с
-f
опциейdocker build -t ubuntu-test:latest -f Dockerfile.custom .
источник
docker build -t my-custom-name -f /path_to_my_docker_file/Dockerfile-abcd .
Чтобы указать
Dockerfile
при сборке, вы можете использовать:Но он потерпит неудачу, если есть
ADD
илиCOPY
команда, которая зависит от относительного пути. Есть много способов указатьcontext
fordocker build
, вы можете обратиться к документации по сборке докеров для получения дополнительной информации.источник
docker build -t ubuntu:12.04 - < Dockerfile
вы должны быть в корне файла DockerfileПонять контексты
docker build
командаБазовый синтаксис команды сборки docker:
Контекст
Контекст - это каталог, который определяет, что будет видеть процесс сборки Docker: с точки зрения Dockerfile, любой файл
context_dir/mydir/myfile
в вашей файловой системе станет/mydir/myfile
в Dockerfile и, следовательно, во время процесса сборки.Докерфайл
Если dockerfile вызывается
Dockerfile
и живет в контексте, он будет найден неявно по соглашению об именах. Это приятно, потому что это означает, что вы обычно можете сразу найти Dockerfile в любом контейнере докеров.Если вы настаиваете на использовании другого имени, например "/ tmp / mydockerfile", вы можете использовать его
-f
так:но тогда файл докеров не будет в той же папке или, по крайней мере, его будет труднее найти.
источник
Это просто: всякий раз, когда запускается сборка Docker, docker хочет знать, каково имя образа, поэтому нам нужно передать -t:. Теперь убедитесь, что вы находитесь в том же каталоге, в котором находится ваш Dockerfile, и запустите
docker build -t <image_name>:<version> .
Пример,docker build -t my_apache:latest .
предполагающий, что вы находитесь в том же каталоге, что и ваш Dockerfile, в противном случае передайте флаг -f и Dockerfile.docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile
источник
docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile
(обратите внимание на добавление a.
в конце)Я сталкиваюсь с той же проблемой. Я использую
docker version:17.09.0-ce
.Я выполняю следующие шаги:
$ sudo docker build -t ubuntu-test:latest .
Проблема была решена, и изображение было успешно создано.
Примечание: команда сборки зависит от версии докера, а также от того, какой вариант сборки мы используем. :)
источник
Одной из причин, по которой я получаю сообщение об ошибке, было имя файла, убедитесь, что имя файла - Dockerfile. Итак, я понял это, надеюсь, это может кому-то помочь.
источник