Skip to main content

Docker Utils with Python

Project description

PyPI version Build Status

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

  • [ ] Add comments

Requirements

  • Docker

Installation

pip install pyocker

Usage

pyocker -f docker-dependency.yml            # Basic
pyocker -f docker-dependency.yml --dry-run  # Dry-Run

Options

Usage: pyocker [options]

Options:
  -h, --help            show this help message and exit
  -f FILE, --file=FILE  Path to config file [default=`docker-dependency.yml`]
  -v, --verbose         Make lots of noise [default]
  -q, --quiet           Make less noise
  --dry-run             Dry Run

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

Project details


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