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