Docker сборка конкретной локальной ветки git - PullRequest
0 голосов
/ 27 июня 2019

Я новичок в docker и хотел бы создать контейнер для конкретной ветки git моего приложения. Если я запускаю сборку docker и указываю местоположение моего dockerfile, образ будет собран, но по умолчанию из локальной ветки master. Я хочу чтобы иметь возможность построить другую ветвь, скажем «разработать». Я провел некоторое исследование, и все ответы, которые я нашел, предполагают сборку из определенной удаленной ветви, а не из конкретной локальной ветви.

1 Ответ

1 голос
/ 27 июня 2019

Вы сделали бы это так же, как если бы вы собирали или запускали любую другую программу из исходного кода из ветки не по умолчанию: посмотрите ветку, которую вы хотите запустить локально, затем запустите docker build.

git clone git@github.com:myname/project
cd project
git checkout branchname
docker build \
  -t myname/project:branchname-g$(git rev-parse --short HEAD) \
  .

(Мне нужно делать это довольно регулярно в моей повседневной работе: это позволяет мне проверять предложенные ветки функций моего коллеги и фактически запускать их самостоятельно. Делать подобные вещи или пытаться создать Docker-образ вчерашнего кодаи не то, что сегодня сломалось, это довольно веская причина не git clone изнутри вашего Dockerfile.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...