2016-12-16 5 views
0

У меня есть несколько репозиториев git, которые необходимы для создания приложения. Я написал один файл Docker для клонирования репо, проверки в ветку разработки и выполнения команд для создания приложения. Я могу правильно создать изображение докера с помощью этого файла docker. Но теперь я хочу использовать некоторый сценарий оболочки «update.sh», так как у меня есть несколько репозиториев git для обновления внутри файла docker, так что код должен быть обновлен, а сборка будет выполнена на обновленном коде. Я пытался сохранить то же самое в Dockerfile, но он не обновляется каждый раз, в первый раз он обновляется, и со следующего раза он берет это изображение из кеша.Как запустить скрипт внутри контейнера Docker?

Инфраструктура Детали: У меня есть 8 GIT РЕПО, как показано ниже:

A-->B-->C-->D and so on 

Я сделал один сценарий, чтобы клонировать & обновления других репозиториев и хранятся внутри А. Проблема, когда я бегу сценарий, первый время его работы, но со следующего раза он берет вещи из кеша.

Может ли кто-нибудь помочь мне в этом.

ответ

0

Я нашел google и нашел решение here. Это сработало для меня.

FROM foo 
ARG CACHE_DATE=2016-01-01 
RUN git clone ... 
docker build --build-arg CACHE_DATE=$(date) .... 
0

вы можете построить вы Dockerfile с:

docker build --no-cache 

, чтобы избежать проблему кэша.

+0

Тогда, я думаю, он будет запускать каждый шаг свежее, это будет похоже на запуск Dockerfile свежее. Я хотел бы что-то поэтапно. – love

+2

@love Я не знаю вашу инфраструктуру, но можно ли установить ваши git-папки и обновить их за пределами докеров? – Gabbax0r

+0

хранит скрипт в томе как опция? таким образом вы изолируете их от процесса сборки – CTodea

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