Explain caching strategy in Dockerfile comments
This commit is contained in:
parent
a5537b18a4
commit
dfd30f5eae
18
Dockerfile
18
Dockerfile
|
@ -29,26 +29,34 @@ RUN pip install \
|
|||
# django-rq is used for webhooks
|
||||
django-rq
|
||||
|
||||
WORKDIR /opt
|
||||
|
||||
ARG BRANCH=master
|
||||
|
||||
WORKDIR /tmp
|
||||
|
||||
# As the requirements don't change very often,
|
||||
# and as they take some time to compile,
|
||||
# we try to cache them very agressively.
|
||||
ARG REQUIREMENTS_URL=https://raw.githubusercontent.com/digitalocean/netbox/$BRANCH/requirements.txt
|
||||
ADD ${REQUIREMENTS_URL} requirements.txt
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
# Cache bust when the upstream branch changes:
|
||||
# ADD will fetch the file and check if it has changed
|
||||
# If not, Docker will use the existing build cache.
|
||||
# If yes, Docker will bust the cache and run every build step from here on.
|
||||
ARG REF_URL=https://api.github.com/repos/digitalocean/netbox/contents?ref=$BRANCH
|
||||
ADD ${REF_URL} version.json
|
||||
|
||||
WORKDIR /opt
|
||||
|
||||
ARG URL=https://github.com/digitalocean/netbox/archive/$BRANCH.tar.gz
|
||||
RUN wget -q -O - "${URL}" | tar xz \
|
||||
&& mv netbox* netbox
|
||||
|
||||
WORKDIR /opt/netbox
|
||||
|
||||
COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py
|
||||
COPY configuration/gunicorn_config.py /etc/netbox/config/
|
||||
COPY docker/nginx.conf /etc/netbox-nginx/nginx.conf
|
||||
COPY docker/docker-entrypoint.sh docker-entrypoint.sh
|
||||
COPY docker/docker-entrypoint.sh /opt/netbox/docker-entrypoint.sh
|
||||
COPY startup_scripts/ /opt/netbox/startup_scripts/
|
||||
COPY initializers/ /opt/netbox/initializers/
|
||||
COPY configuration/configuration.py /etc/netbox/config/configuration.py
|
||||
|
|
Loading…
Reference in New Issue