Skip to main content

CLI for manage container applications

Project description

Dock CLI

CLI tool for managing containerized applications in a Git repository.

It allows you to implement automatic version control for Docker images and Helm charts in a quick and easy way.

Installation

Install and update using pip.

$ pip install -U dock-cli

Getting Started

Assuming you have a repository with multiple Docker images and Helm charts that require automatic version control.

For example, the folder structure of your repository is as follows:

<repository_root>/
 | - .git/
 | - charts/
 | | - myFirstChart/
 | | | - Chart.yaml
 | | - mySecondChart/
 | | | - Chart.yaml
 | - images/
 | | - myFirstImage/
 | | | - Dockerfile
 | | - mySecondImage/
 | | | - Dockerfile
 | - dock.ini

Where dock.ini can be empty or nonexistent, you can use the following command to update dock.ini:

# Set default registry for all images
$ dock image config set-registry posen
Set [DEFAULT] registry = posen

# Set default registry for all charts
$ dock chart config set-registry oci://registry-1.docker.io/posen
Set [DEFAULT] oci-registry = oci://registry-1.docker.io/posen

# Add images/myFirstImage/ to the configuration
$ dock image config set images/myFirstImage/
Del [images/myFirstImage] registry
Set [images/myFirstImage] image-file = Dockerfile
Del [images/myFirstImage] image-name
Del [images/myFirstImage] depends-on
Set [images/myFirstImage] type = image

images/myFirstImage:
- registry: posen
- image-file: Dockerfile
- image-name:
- depends-on:
- type: image

# Add images/mySecondImage/ to the configuration
$ dock image config set images/mySecondImage/ --depends-on=images/myFirstImage/
Del [images/mySecondImage] registry
Set [images/mySecondImage] image-file = Dockerfile
Del [images/mySecondImage] image-name
Set [images/mySecondImage] depends-on = images/myFirstImage
Set [images/mySecondImage] type = image

images/mySecondImage:
- registry: posen
- image-file: Dockerfile
- image-name:
- depends-on: images/myFirstImage
- type: image

# Add charts/myFirstChart/ to the configuration
$ dock chart config set charts/myFirstChart/
Del [charts/myFirstChart] oci-registry
Set [charts/myFirstChart] type = chart

charts/myFirstChart:
- oci-registry: oci://registry-1.docker.io/posen
- type: chart

# Add charts/mySecondChart/ to the configuration
$ dock chart config set charts/mySecondChart/
Del [charts/mySecondChart] oci-registry
Set [charts/mySecondChart] type = chart

charts/mySecondChart:
- oci-registry: oci://registry-1.docker.io/posen
- type: chart

And the content of dock.ini is as follows:

$ cat dock.ini
[DEFAULT]
registry = posen
oci-registry = oci://registry-1.docker.io/posen

[images/myFirstImage]
image-file = Dockerfile
type = image

[images/mySecondImage]
image-file = Dockerfile
depends-on = images/myFirstImage
type = image

[charts/myFirstChart]
type = chart

[charts/mySecondChart]
type = chart

Then you can use the following command to push to the registry:

  • List all images and charts
    $ dock image list
    images/myFirstImage
    images/mySecondImage
    $ dock chart list
    charts/myFirstChart
    charts/mySecondChart
    
  • Build all images and Package all charts
    $ dock image list | xargs -r dock image build
    $ dock chart list | xargs -r dock chart package
    
  • Push all images and charts
    $ dock image list | xargs -r dock image push
    $ dock chart list | xargs -r dock chart push
    

Links

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

dock_cli-1.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

dock_cli-1.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file dock_cli-1.1.0.tar.gz.

File metadata

  • Download URL: dock_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for dock_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 d480b61314c3964160df1e62aba3bb5c682d969e1735d78eb7c2eb318b51c02d
MD5 9d639d902b219f46572cc25da2763fee
BLAKE2b-256 6071c6a812d9f2c5a80060796107fd384c4a039fe7d2a2d1893880da400d902b

See more details on using hashes here.

File details

Details for the file dock_cli-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: dock_cli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for dock_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f37fbb95c02e8e27113fdb7e2848dc47656748e16a13bc54ae46a51b482be5fc
MD5 8d82ec8db3dcacf6ff3ad0e42ed5b080
BLAKE2b-256 ced6f1e44a8b6c6eec1d650fac43351be872746adc27d056086bfc9836a3ce38

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