Skip to main content

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)

Source distribution for docker-optimizer 1.2.1
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

Release history Release notifications | RSS feed

This release

1.2.1 This release

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page