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 is used for webhooks
|
||||||
django-rq
|
django-rq
|
||||||
|
|
||||||
WORKDIR /opt
|
|
||||||
|
|
||||||
ARG BRANCH=master
|
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
|
ARG REQUIREMENTS_URL=https://raw.githubusercontent.com/digitalocean/netbox/$BRANCH/requirements.txt
|
||||||
ADD ${REQUIREMENTS_URL} requirements.txt
|
ADD ${REQUIREMENTS_URL} requirements.txt
|
||||||
RUN pip install -r 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
|
ARG REF_URL=https://api.github.com/repos/digitalocean/netbox/contents?ref=$BRANCH
|
||||||
ADD ${REF_URL} version.json
|
ADD ${REF_URL} version.json
|
||||||
|
|
||||||
|
WORKDIR /opt
|
||||||
|
|
||||||
ARG URL=https://github.com/digitalocean/netbox/archive/$BRANCH.tar.gz
|
ARG URL=https://github.com/digitalocean/netbox/archive/$BRANCH.tar.gz
|
||||||
RUN wget -q -O - "${URL}" | tar xz \
|
RUN wget -q -O - "${URL}" | tar xz \
|
||||||
&& mv netbox* netbox
|
&& mv netbox* netbox
|
||||||
|
|
||||||
WORKDIR /opt/netbox
|
|
||||||
|
|
||||||
COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py
|
COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py
|
||||||
COPY configuration/gunicorn_config.py /etc/netbox/config/
|
COPY configuration/gunicorn_config.py /etc/netbox/config/
|
||||||
COPY docker/nginx.conf /etc/netbox-nginx/nginx.conf
|
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 startup_scripts/ /opt/netbox/startup_scripts/
|
||||||
COPY initializers/ /opt/netbox/initializers/
|
COPY initializers/ /opt/netbox/initializers/
|
||||||
COPY configuration/configuration.py /etc/netbox/config/configuration.py
|
COPY configuration/configuration.py /etc/netbox/config/configuration.py
|
||||||
|
Loading…
Reference in New Issue
Block a user