не удалось создать конкретный файл докеров

docker

31716 просмотра

6 ответа

Я могу построить файл Docker, например

docker build -t deepak/ruby .

Но для Dockerfile, который не назван Dockerfile

# DOCKER-VERSION 0.4.8

FROM deepak/ruby

MAINTAINER Deepak Kannan "deepak@example.com"

RUN ./bin/rails s

скажем, это называется, Dockerfile.app который мы строим с

docker build -t deepak/app Dockerfile.app

то я получаю ошибку

Uploading context 0 bytes
Error build: EOF
EOF
Автор: deepak Источник Размещён: 17.05.2019 03:58

Ответы (6)


64 плюса

docker build -f MyDockerfile.

Или с тегом:

docker build -t mysuperimage -f MyDockerfile.

Обратите внимание, что .в конце обеих команд есть точка .

Автор: Hoto Размещён: 13.05.2016 10:55

13 плюса

Последний параметр для сборки докеров - это путь сборки, когда вы указываете, .что это путь, на котором вы найдете Dockerfile. Когда вы измените его, Dockerfile.appон попытается найти и искать Dockerfile.app/Dockerfile, что неверно.

Я не уверен, что он все равно будет работать, но вы могли это сделать.

$ docker build -t deepak/app - < Dockerfile.app

Попробуйте это и посмотрите, поможет ли она, если нет, возможно, открыть проблему докера, чтобы добавить эту функцию или обновить документацию о том, как использовать файл Docker с другим именем.

Подробнее здесь: http://docs.docker.io/en/latest/commandline/command/build/

Автор: Ken Cochrane Размещён: 05.07.2013 04:13

12 плюса

Это работает

docker build doronaviguy/helloworld -f SomeDockerFile .

Документация по сборке докеров

Автор: doron aviguy Размещён: 10.09.2015 08:36

6 плюса

Попробуйте докер . Он использует функцию докера для построения контекста через stdin. Я написал сценарий для решения именно вашей проблемы, с которой я столкнулся.

Чтобы заменить Dockerfile другим, вы делаете это так:

dockerfeed -d Dockerfile.app . | docker build -t deepak/ruby -

И вуаля. Докингер делает то же самое docker build. Он объединяет исходный файл с Dockerfile, но позволяет вам заменить старый файл Docker с нужным. Никакие файлы не создаются в процессе, ни один источник не изменяется. Сгенерированный tar-архив отправляется в докер, который, в свою очередь, отправляет его на демон докеров.

Обновление: это был верный ответ в старые времена, когда не было -fдоступного коммутатора. С докерной версией 1.5 эта опция была введена. Теперь вы можете создать другой файл Docker, например:

docker build -f other-Dockerfile .
Автор: itsafire Размещён: 27.10.2014 01:29

4 плюса

Вы можете добиться этого и с помощью докеры.

В вашем файле docker-compose.yml в разделе сборки вы можете указать каталог, в котором вы храните свой файл докеров и его альтернативное имя, как указано ниже:

build:
  context: "/path/to/docker/directory"
  dockerfile: "dockerfile-alternate-name"

докер-Compose

Автор: shaft Размещён: 02.03.2017 01:06

0 плюса

Предположим, что вы успешно установили панель инструментов докеров, включая docker-compose и docker-machine . Это мой docker-compose.yml

version: '2'
services: 
  web: ./www/python
  ports:
   - "5000:5000"

И это под Dockerfile

FROM python:3.4-alpine
ADD ./www/python /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Убедитесь, что эти файлы расположены точно под корневой папкой. Когда вы запускаете компоновку докеров, вы собираетесь создавать образ для Интернета.

Автор: Faris Rayhan Размещён: 31.07.2018 10:01
Вопросы из категории :
32x32