Как отредактировать / etc / host в образе Docker из конвейера jenkins - PullRequest
0 голосов
/ 19 марта 2019

У меня проблема, и я не уверен, как ее решить. У меня есть конвейер jenkis, который создает экземпляр контейнера Azure с некоторыми изображениями, которые помещаются (в тот же конвейер) в реестр Azure. Теперь мне нужно вставить образ контейнера докера в реестр, но с изменением в файле / etc / hosts. Я пробовал с:

RUN  sed -i '$ a 172.x.x.x  host.domain.com ' /etc/hosts

и

RUN echo >> 172.x.x.x  host.domain.com /etc/hosts

И в pipleine я получаю ошибку:

1msed: can't move '/etc/hostsJCkFPo' to '/etc/hosts': Resource busy

Мне кажется, что я не могу сделать такую ​​вещь вручную во время фазы сборки, поэтому я искал и посмотрел, что с использованием "

- добавление хоста

"Вы можете достичь этого. Дело в том, что я не знаю, как я могу сделать это в файле Дженкинса. Я попытался со следующим внутри файла jenkins (добавив только часть сборки Docker):

 def imageNametom = 'repo.azurecr.io/container-tomcat'
 def imageNameTagged = imageNametom + ':' + env.BUILD_NUMBER

 docker.build("${imageNameTagged}" , "--add-host=host.domain.com:172.x.x.x").

но я получаю следующую ошибку:

docker build -t repo.azurecr.io/container-tomcat:6 --add-host=host.domain.com:172.x.x.x
invalid argument "host.domain.com" for "--add-host" flag: bad format for add-host: "host.domain.com"

Как я могу добавить это в файл / etc / hosts? поэтому контейнеры, созданные из этого образа, имеют файл hosts .?

спасибо

1 Ответ

0 голосов
/ 20 марта 2019

У вас не будет IP и доменного имени на этапе создания образа докера Вы получаете эту информацию только тогда, когда контейнер создается из образа докера

Итак, я бы предложил использовать шаблоны решений Azure, которые позволяют вызывать сценарии после создания образа

Вот один пример, который модифицирует сообщение /etc/hosts о предоставлении виртуальной машины. по образу докера

https://github.com/Azure/azure-quickstart-templates/blob/f605b4b13a6d372d9f40142323e128b5e5e58440/slurm/azuredeploy.sh

Другие примеры шаблонов Azure Solution можно найти здесь. https://github.com/Azure/azure-quickstart-templates

...