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.0rc0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: dock_cli-1.1.0rc0.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.0rc0.tar.gz
Algorithm Hash digest
SHA256 ac7025cb166faa43794687260038f4c397d8189533258822df1c43f5d05fa044
MD5 c7c2d412052ea836716d91aade702b55
BLAKE2b-256 4ca429991cea62210989fde2a8f409530f0af247372bd529921f33b231a69055

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dock_cli-1.1.0rc0-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.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8b27c3074cfc48c7a0759205d2b39e2fe48da104b96b6ab3f035b8ae5f40a66
MD5 8a34a9f06ade8a8950a254bfbf532498
BLAKE2b-256 9bffae24f3e9d9378819e37f5fd940ee477584ffd1ea79ab59204ede9ac89c3a

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