Pyocker
Description
- Docker images have Base Images, and a Base Image also has another Base image.
- You may want to re-build ImageA before building ImageB which will be built based on ImageA.
Pyocker enables static definition of Dockerfile dependencies and selective build/push of docker images.
TODO
- Enable use of Dockerfiles in user-selected directories for each image
-
Integration with
dockerfile_composer
- Registry authentication
- Check if actual dependency described in Dockerfiles match dependency definitions
- Add comments
- Loggin into files
Requirements
- Docker
Installation
pip install pyocker
Usage
Build
pyocker build --file docker-dependency.yml # Basic
pyocker build --file docker-dependency.yml --dry-run # Dry-Run
Options
Usage: pyocker build [OPTIONS]
Options:
--file TEXT Path to config file [default="docker-dependency.yml"]
--verbose / --quiet Make lots of noise or not [default=verbose]
--dry-run Dry Run
-h, --help Show this message and exit.
Config
# Built-in variables:
# * $date - current date in format `yyyy.mm.dd`
---
registry: # name of public|private registry
images: # Required
-
name: fluentd # Required
tags: # Tags to build with
- latest
- production
- development
use_cache: yes # Disable `--no-cache` option [default: yes]
build: no
push: no
-
name: my-image
tags:
- $date-dev # Using a built-in variable
use_cache: no
build: yes
push: yes
dependencies: # Images required by `my-image`
-
name: base-image1
tags:
- latest
use_cache: yes
build: yes
push: no
-
name: base-image2
tags:
- latest
use_cache: yes
build: yes
push: no
Compose
Upcoming.