My Dockerfile похож на
FROM my/base
ADD . /srv
RUN pip install -r requirements.txt
RUN python setup.py install
ENTRYPOINT ["run_server"]
Каждый раз, когда я создаю новое изображение, необходимо переустановить зависимости, которые могут быть очень медленными в моем регионе.
Один из способов, по которым я придумал пакеты cache
, которые были установлены, - переопределить образ my/base
с более новыми изображениями следующим образом:
docker build -t new_image_1 .
docker tag new_image_1 my/base
Итак, в следующий раз, когда я создам этот файл Docker, у моей/базы уже установлены некоторые пакеты.
Но это решение имеет две проблемы:
- Не всегда возможно переопределить базовое изображение
- Базовое изображение становится все больше и больше по мере того, как на нем накладываются новые изображения.
Итак, какое лучшее решение я могу использовать для решения этой проблемы?
ИЗМЕНИТЬ ##:
Некоторая информация о докере на моей машине:
☁ test docker version
Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): d84a070
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070
☁ test docker info
Containers: 0
Images: 56
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 56
Execution Driver: native-0.2
Kernel Version: 3.13.0-29-generic
WARNING: No swap limit support