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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.