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']
Metadata
Release files for docker-optimizer 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| docker-optimizer-1.2.1.tar.gz | 3.6 kB | Details |
Release files / docker-optimizer-1.2.1.tar.gz
| Download URL | docker-optimizer-1.2.1.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41fa13633ca118906aaaa1f3b105d13315f90ea96ed66daa634f1d3c71294570
|
|
BLAKE2b-256 checksum How to use checksums |
b0d4d92b139015cfc985335562dfbe79f902eeaed2432234ca4e7e954f866646
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.7
|