Skip to main content

Docker Utils with Python

Project description

PyPI version Build Status Dependency Status Code Climate

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.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pyocker-0.2.7.tar.gz (4.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page