Можно ли добавить параметр для кэширования моего образа докера где-нибудь в конфигурации travis? Мой - это более крупное изображение докера, и для его загрузки требуется некоторое время.
Какие-либо предложения?
Можно ли добавить параметр для кэширования моего образа докера где-нибудь в конфигурации travis? Мой - это более крупное изображение докера, и для его загрузки требуется некоторое время.
Какие-либо предложения?
См. Кэширование изображений докеров на сборке # 5358 для ответа (ответов). Для Docker 1.12, доступного сейчас в Travis, рекомендуется вручную кэшировать изображения. Для Docker 1.13 вы можете использовать его --cache-from
, когда он находится на Travis.
Я только что нашел следующий подход, как обсуждалось в этой статье.
services:
- docker
before_script:
- docker pull myorg/myimage || true
script:
- docker build --pull --cache-from myorg/myimage --tag myorg/myimage .
- docker run myorg/myimage
after_script:
- docker images
before_deploy:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
deploy:
provider: script
script: docker push myorg/myimage
on:
branch: master
Это работает для меня:
<IMAGE_NAME_HERE>
(3 места).docker save
может обрабатывать несколько изображений, просто потяните их, прежде чем пытаться сохранить их.services:
- docker
cache:
directories:
- docker-cache
before_script:
- |
filename=docker-cache/saved_images.tar
if [[ -f "$filename" ]]; then docker load < "$filename"; fi
mkdir -p docker-cache
docker pull <IMAGE_NAME_HERE>
docker save -o "$filename" <IMAGE_NAME_HERE>
script:
- docker run <IMAGE_NAME_HERE>...