Skip to main content

A small program to optimize Dockerfiles

Project description

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']

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docker-optimizer-1.2.1.tar.gz (3.6 kB view details)

Uploaded Source

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

Hashes for docker-optimizer-1.2.1.tar.gz
Algorithm Hash digest
SHA256 41fa13633ca118906aaaa1f3b105d13315f90ea96ed66daa634f1d3c71294570
MD5 198097dd1780c61705f7eb5d4be6cbb9
BLAKE2b-256 b0d4d92b139015cfc985335562dfbe79f902eeaed2432234ca4e7e954f866646

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page