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/
Set [images/myFirstImage] image-file = Dockerfile
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/
Set [images/mySecondImage] image-file = Dockerfile
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/
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/
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
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.
Source Distribution
Built Distribution
Hashes for dock_cli-1.0.0rc0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1008aacad22e27740b67522bcc0e794b573dc26486bdcf5a8c6655df21516d3c |
|
MD5 | 8c9ba9b8448d57444f72ec4d6f8fa741 |
|
BLAKE2b-256 | 856366af9e6df8d3a934927536ed4c8bb6c591f126cfe04f7e47eee368e1a832 |