2014-11-05 3 views
17

В официальной документации мы можем видеть:Как построить Docker изображение из GitHub хранилища

# docker build github.com/creack/docker-firefox 

Это просто отлично работает для меня. docker-firefox - это репозиторий и имеет Dockerfile в корневом каталоге.
Тогда я хочу Buid REDIS изображения и точную версии 2.8.10:

# docker build github.com/docker-library/redis/tree/99c172e82ed81af441e13dd48dda2729e19493bc/2.8.10 
2014/11/05 16:20:32 Error trying to use git: exit status 128 (Initialized empty Git repository in /tmp/docker-build-git067001920/.git/ 
error: The requested URL returned error: 403 while accessing https://github.com/docker-library/redis/tree/99c172e82ed81af441e13dd48dda2729e19493bc/2.8.10/info/refs 

fatal: HTTP request failed 
) 

я получил ошибку выше. Каков правильный формат с помощью изображения докеры из репозитория github?

ответ

3

То, что вы указали как URL-адрес репо, не является допустимым репозиторием git. Вы получите сообщение об ошибке, когда вы будете пытаться

git clone github.com/docker-library/redis/tree/99c172e82ed81af441e13dd48dda2729e19493bc/2.8.10

Действительный URL для этого репо github.com/docker-library/redis. Таким образом, вы можете попробовать следующее:

docker build github.com/docker-library/redis

Но это не будет работать тоже. Чтобы построить из github, докер требует Dockerfile в корне репозитория, howerer, это репо не предоставляет этого. Поэтому я предлагаю вам только клонировать это репо и создавать образ, используя локальный файл Docker.

+1

На самом деле 'Докер строить https: // raw.githubusercontent.com/докер-библиотека/Redis/мастер/2.8.10/Dockerfile' работает, но не нравится [официальный пример] (http://docs.docker.com/v1.1/reference/commandline/cli/#build). Спасибо за Ваш ответ. – seanlook

12

docker build uri#ref:dir

Git URL-адрес принимает конфигурацию контекста в их фрагменте секции, разделены двоеточием:. Первая часть представляет ссылку, что Git проверит, это может быть либо ветка, либо тег, либо фиксация SHA. Вторая часть представляет собой подкаталог внутри репозитория , который будет использоваться как контекст сборки.

Например, запустите эту команду, чтобы использовать каталог с именем докер в контейнере филиала:

docker build https://github.com/docker/rootfs.git#container:docker 

https://docs.docker.com/engine/reference/commandline/build/

0

Можно использовать следующий пример, который устанавливает контейнер Centos 7 для тестирование формата файла ORC. Убедитесь в том, чтобы избежать # знак:

$ docker build https://github.com/apache/orc.git\#:docker/centos7 -t orc-centos7

Смежные вопросы