docker-optimizer allows collapsing multiple RUN layers into a single one. This way, you can use the docker caching for development, yet get fewer layers for the final container.
Installation
pip install docker-optimizer
Usage
Input Dockerfile.dev:
FROM python:3.8-slim-buster
#============================================================================
# Install requirements
#============================================================================
COPY requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
#============================================================================
# Update the package list
#============================================================================
RUN apt-get update -y
#============================================================================
# Install certbot
#============================================================================
RUN apt-get install -y curl && \
curl -LO https://dl.eff.org/certbot-auto && \
mv certbot-auto /usr/local/bin && \
chown root /usr/local/bin/certbot-auto && \
chmod 755 /usr/local/bin/certbot-auto && \
certbot-auto --install-only -n
#============================================================================
# cleanup package list
#============================================================================
RUN rm -rf /var/lib/apt/lists/*
COPY new-certificate* /usr/local/bin/
USER 1000
ENV LE_AUTO_SUDO=
WORKDIR /usr/local/bin
ENTRYPOINT ["python", "new-certificate.py"]
docker-optimizer Dockerfile.dev Dockerfile
# compiled by docker-optimizer
# https://github.com/bmustiata/docker-optimizer
from python:3.8-slim-buster
copy requirements.txt /requirements.txt
run pip install -r /requirements.txt && apt-get update -y && apt-get install -y curl && curl -LO https://dl.eff.org/certbot-auto && mv certbot-auto /usr/local/bin && chown root /usr/local/bin/certbot-auto && chmod 755 /usr/local/bin/certbot-auto && certbot-auto --install-only -n && rm -rf /var/lib/apt/lists/*
copy new-certificate* /usr/local/bin/
user 1000
env 'LE_AUTO_SUDO' ''
workdir /usr/local/bin
entrypoint ['python', 'new-certificate.py']
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file docker-optimizer-1.2.1.tar.gz.
File metadata
- Download URL: docker-optimizer-1.2.1.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
Python-urllib/3.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41fa13633ca118906aaaa1f3b105d13315f90ea96ed66daa634f1d3c71294570
|
|
| MD5 |
198097dd1780c61705f7eb5d4be6cbb9
|
|
| BLAKE2b-256 |
b0d4d92b139015cfc985335562dfbe79f902eeaed2432234ca4e7e954f866646
|