Я только что скачал Docker Toolbox для Windows 10 64bit сегодня. Я прохожу учебник. Я получаю следующую ошибку при попытке создать образ с помощью Dockerfile.
шаги:
- Запущен Docker Quickstart терминал.
- Тестдокер после его создания.
- Подготовьте Dockerfile, как описано в веб-ссылке «Создайте свой собственный образ».
- побежал ниже команды
docker build -t docker-whale .
Error: $ docker build -t docker-whale .
unable to prepare context: unable to evaluate symlinks in Dockerfile path: GetFileAttributesEx C:\Users\Villanueva\Test\testdocker\Dockerfile: The system cannot find the file specified.
Кстати: я попробовал несколько вариантов, упомянутых @ https://github.com/docker/docker/issues/14339
$ docker info
Containers: 4
Running: 0
Paused: 0
Stopped: 4
Images: 2
Server Version: 1.10.1
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 20
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
Volume: local
Network: bridge null host
Kernel Version: 4.1.17-boot2docker
Operating System: Boot2Docker 1.10.1 (TCL 6.4.1); master : b03e158 - Thu Feb 11 22:34:01 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 996.2 MiB
Name: default
ID: C7DS:CIAJ:FTSN:PCGD:ZW25:MQNG:H3HK:KRJL:G6FC:VPRW:SEWW:KP7B
Debug mode (server): true
File Descriptors: 32
Goroutines: 44
System Time: 2016-02-19T17:37:37.706076803Z
EventsListeners: 0
Init SHA1:
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker
Labels:
provider=virtualbox
docker
dockerfile
villanux
источник
источник
docker build -t XXX --file ./Dockefile
это может быть из-за неправильного имени файла, то отсутствует R.Ответы:
при выполнении следующей команды:
убедитесь, что Dockerfile присутствует в вашем текущем рабочем каталоге.
источник
f
флагом, как в разделеdocker build -f Dockerfile-dev.yaml -t my_container .
Это может оказаться полезным, если у вас есть несколько Dockerfile в вашем проекте, например, для каждой среды. То же самое относится и к docker-compose. Помещение их в разные подкаталоги не будет работать, так как context (.
) не будет совпадать.Это позор!
Сообщение об ошибке вводит в заблуждение. Проблема не имеет ничего общего с символическими ссылками на самом деле. Обычно только докер не может найти файл Docker, описывающий сборку.
Типичные причины таковы:
Это должно быть названо
Dockerfile
. Если это называется, например,dockerfile
,.Dockerfile
,Dockerfile.txt
или другой, он не будет найден.Если вы говорите
docker build contextdir
, Dockerfile должен быть вcontextdir/Dockerfile
. Если у вас есть, скажем,./Dockerfile
вместо этого, он не будет найден.Звучит глупо? Ну, я получил вышеупомянутое сообщение об ошибке от моего GitLab CI после того, как я написал хороший Dockerfile, но забыл проверить его. Глупо? Конечно. Вряд ли? Нет .
Это не единственный позор ...
Не только это одно сообщение об ошибке является расплывчатым и запутанным. Обычно я нахожу некоторые концепции докеров и большую часть документации семантически неточными.
Одним из действительно плохих мест является понятие «тег» (по состоянию на август 2019 года). В зависимости от того, где вы смотрите в документации, он говорит все следующее (более или менее четко):
tag
команда, но аргумент вы поставляете не называется тегом или именем тега, он называется именем изображения.tag
аргументе команды имя тега необязательно, но имя изображения обязательно. Очевидный.docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
x
в (или ранее, но каким-то волшебным образом всегда цепляющемся за) имени этого образа, как предполагается, будет жить на этом хостеx
(в реестре). Если вы хотите получить доступ к такому образу, вам нужно более или менее использовать это имя с префиксом хостаx
.x
, потому что «выдвижение» изображенияx
является отдельной операцией.Если вас это смущает, это не ваша вина.
Конец разглагольствования.
источник
Если вы работаете в Windows 8, вы бы использовали панель инструментов Docker. Из каталога mydockerbuild выполните команду ниже, так как ваш Dockerfile является текстовым файлом
источник
docker build -t friendlyhello -f ./Dockerfile.txt .
Название файла должно быть
Dockerfile
и нет.Dockerfile
. Файл не должен иметь никакого расширения.источник
Я назвал свой файл dockerfile вместо Dockerfile (с большой буквы), и как только я изменил это, он начал обрабатывать мой «Dockerfile».
источник
Просто удалите расширение .txt из Dockerfile и выполните команду
Это будет работать наверняка.
источник
Я получил эту ошибку (в MacBook), хотя я использовал правильную команду для создания изображения,
Позже я обнаружил, что путь - это проблема. Просто перейдите к правильному пути, который содержит файл Docker. Просто дважды проверьте ваш текущий рабочий каталог. Ничего страшного!
источник
В Windows 10 ... точка является первым параметром
docker build . -t docker-whale
источник
docker build -t docker-whale .
действительной командыЭто потому, что Notepad добавляет «.txt» в конце Dockerfile.
источник
В WSL, похоже, проблема с преобразованием пути. Расположение Dockerfile в Ubuntu (где я запускаю docker и где живет Dockerfile) - «/ home / sxw455 / App1», но ни одна из этих команд не сработала:
Но в Windows фактический путь:
И поэтому я должен был сделать это (хотя я запустил его из Bash):
У меня были похожие проблемы с переменными среды во время первоначальной установки, и я следовал совету установить Windows DockerCE и взломать переменные среды, а не устанавливать Ubuntu DockerCE, потому что (надеюсь, я правильно запомнил), что WSL не полностью реализует systemctl. После завершения установки Windows Docker CE и установки переменных среды Docker отлично работает в WSL / Ubuntu.
источник
Я создал свой DockerFile с помощью инструмента поддержки Docker VS2017 и получил ту же ошибку. Через некоторое время я понял, что я не в правильном каталоге, который содержит Dockerfile
(~\source\repos\DockerWebApplication\)
. cd'ed к правильному файлу,(~/source/repos/DockerWebApplication/DockerWebApplication)
который был в проекте и успешно создал образ докера.источник
Ниже команда работала для меня docker build -t docker-whale -f Dockerfile.txt.
источник
Два способа создания dockerfile:
Вы можете решить не указывать имя файла, из которого нужно создать файл, и просто создать его, указав путь (при этом имя файла должно быть
Dockerfile
без расширения, например:docker build -t docker-whale:tag path/to/Dockerfile
или
Вы можете указать файл с ,
-f
и это не имеет значения , что расширение (в разумных пределах.txt
,.dockerfile
, и.Dockerfile
т.д ..) вы решите использовать, напримерdocker build -t docker-whale:tag /path/to/file -f docker-whale.dockerfile
.источник
Первоначально я создал свой Dockerfile в PowerShell и, хотя я не увидел расширения в файле, который отображался как тип файла PS ... как только я создал файл из Notepad ++, обязательно выбрав файл «Все типы ( . )» Введите без расширения имя файла (Dockerfile). Это позволило моей команде сборки образа успешно завершиться .... Просто убедитесь, что ваш Dockerfile имеет тип "Файл" ...
источник
Проблема заключается в том, что имя файла должно быть Dockerfile, а не DockerFile или dockerfile, это должен быть D capital, за которым следует ockerfile в строчных примечаниях.
источник
Убедитесь, что вы
DOCKERfile
находитесь в корне каталога приложения, у меня был мой в src, что привело к этой ошибке, потому что Docker не находил путь кDOCKERfile
источник
Для сборки Dockerfile сохраните автоматизированный контент в Dockerfile. не Dockerfile, потому что при открытии файла команда:
(Текстовый файл записан, поэтому файл не может быть собран)
Чтобы создать файл, выполните:
а теперь беги:
Убедитесь, что вы находитесь в текущем каталоге Dockerfile.
источник
Самое главное, убедитесь, что ваше имя файла
Dockerfile
если вы используете другое имя, оно не будет работать (по крайней мере, это не для меня.)Также, если вы находитесь в той же директории, где находится Dockerfile, используйте
.
iedocker build -t Myubuntu1:v1 .
или используйте абсолютный путь, т.е.docker build -t Myubuntu1:v1 /Users/<username>/Desktop/Docker
источник
В моем случае (запустить из Windows 10)
1) Переименуйте файл
myDockerFile.Dockerfile
вDockerfile
( без расширения файла).Затем запустите из- под папки эту команду:
Это работает для меня и для моих коллег на работе, надеюсь, что это также будет работать для вас
источник
Убедитесь, что имя файла «Dockerfile» не сохранено с каким-либо расширением. Просто создайте файл без какого-либо расширения.
И убедитесь, что Dockerfile находится в том же каталоге, откуда вы пытаетесь создать образ Docker.
источник
В случае, если в нашей среде есть несколько файлов Docker, просто Dockerfile не будет соответствовать нашим требованиям.
Поэтому используйте команду
file
(-f аргумент), чтобы указать свой файл докера (Dockerfile.ihub)источник
.
(точку) в конце строки, как показано выше.docker build
здесь: docs.docker.com/engine/reference/commandline/buildЯ получил это в Windows, когда путь, по которому я работал, находился в каталоге Junction. Так что я решил не работать по этому пути.
источник
На Mac это работает для команды ниже. (надеюсь, что вы
.Dockerfile
в вашем корневом каталоге).источник
Проблема связана с процедурой создания DockerFile.
Для работы откройте cmd, cd в интересующем каталоге и введите:
Это создаст файл с именем DockerFile внутри вашей папки.
Теперь введите:
Это откроет файл DockerFile в блокноте, и вам придется скопировать / вставить стандартный код, предоставленный.
Сохраните файл и, наконец, создайте свой образ с помощью Docker:
Это работает для меня, и я надеюсь, что это помогает другим
источник
Я ошибочно создал
Dockerfile.txt
в моем рабочем каталоге, что привело к вышеупомянутой ошибке, в то время какbuild
Исправление должно было удалить
.txt
расширение из файла.Имя файла должно быть
Dockerfile
только без расширения .источник
Выполните
docker build -t getting-started .
в каталоге вашего проекта и убедитесь, что Dockerfile присутствует и не имеет.txt
расширения. Если вы работаете в Windows, проверьте «расширение имени файла» на вкладке «Вид» в проводнике, чтобы показать, существует ли файл .txt или нет, и удалите его, если первое - «истина». Удачи.источник
Я также столкнулся с теми же проблемами, и это было решено, когда я создал файл с именем DockerFile и упомянул все команды, которые хотели быть выполнены при создании любого изображения.
источник
Ошибка означает, что
docker build
либо используетсяPATH | URL
неправильный ввод, либо егоDockerfile
нельзя найти в текущем каталоге. Кроме того, убедитесь, что при запуске команды из встроенного терминала (например,bash
в вашей IDE или текстовом редакторе) у вас есть права администратора для этого. Лучше всего, если вы можете проверитьPATH
с вашего терминала с помощьюpwd
(вbash shell
илиdir
при использовании простогоcli
на Windows) и скопировать точный путь, где вы хотите, чтобы изображение было построено.docker build C:\windows\your_amazing_directory
docker build --help
также покажет вам доступные варианты для использования в случае неправильно сформированных или недопустимых команд.источник
Я попробовал это, и это сработало:
Пожалуйста, смотрите кавычки + не кавычки вокруг Folderame.
Примечание: в папке у
"C:\Users\ssundarababu\Documents\Docker\Learn\SimpleDockerfile"
меня есть Dockerfile.источник
Чтобы создать образ из командной строки в Windows / Linux. 1. Создайте файл Docker в вашем текущем каталоге. Например: ОТ Ubuntu RUN apt-get update RUN apt-get -y установить apache2 ADD. / var / www / html ENTRYPOINT apachectl -D ПРЕДВАРИТЕЛЬНОЕ имя ENV Devops_Docker 2. Не сохраняйте его с расширением .txt. 3. В командной строке выполните команду Docker build. -t apache2image
источник