Ответ 1
docker build -t myAccount/myImage https://github.com/myAccount/docker-myImage.git#development
См. ссылка на команду docker build для получения дополнительных параметров.
Можно ли создать образ из неосновной ветки в репозитории Github?
Например, у меня есть хранилище //github.com/myAccount/docker-myImage
с ответвлением development
, который я хотел бы использовать для моего образа. К сожалению, следующая команда разрешает сборку только из master
ветки:
docker build -t myAccount/myImage git://github.com/myAccount/docker-myImage
Вот соответствующая документация от man docker build
:
Создание изображения с использованием URL
Это клонирует указанный репозиторий Github из URL и использует его в качестве контекста. Dockerfile в корне хранилища используется как Dockerfile. Это работает только в том случае, если репозиторий Github является выделенным.
docker build github.com/scollier/Fedora-Dockerfiles/tree/master/apache
Примечание: вы можете установить произвольный репозиторий Git через схему git://.
Возможно, есть альтернатива, например docker build -t myAccount/myImage git://github.com/myAccount/docker-myImage:development
?
docker build -t myAccount/myImage https://github.com/myAccount/docker-myImage.git#development
См. ссылка на команду docker build для получения дополнительных параметров.
В документе, который вы цитировали, упоминается, как вы можете указать ветку:
github.com/scollier/Fedora-Dockerfiles/tree/master/apache
Измените tree/master
на нужную ветку и посмотрите.
Я предложил этот вопрос на #docker
в IRC Freenode, и пользователь scollier
связался со мной, и он сказал, что он вернется ко мне об этой проблеме. Я считаю, что он связан с документацией Докера, о которой я упоминал в своих вопросах. Тем временем я нашел обходное решение, добавив следующее к моему Dockerfile
:
RUN git clone something && cd something && git checkout branch
Это решение, похоже, решает все мои потребности. Спасибо за поддержку!
Кажется, вам нужно создать ветку до того, как реализация git docker-контейнера сможет извлечь ее из источника:
git fetch
git checkout -b branch_name
git pull origin branch_name