# dokr - Make your docker and ecs tasks easy
A Helper pip package for docker and ECS tasks. This pip package helps you automate your CI/CD pipeline. If your using docker and Amazon ECS for deployments, this tool can be really helpful. This package uses aws cli and ecs cli. Mak
### Assumptions:
+ Assuming python is installed on your system.
+ Docker is installed on your system
+ [aws-cli](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) is installed and credentials are configured on your system.
+ [ecs-cli](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html) is installed on system [*For Log Command only*]
Install `dokr` on your system using :
```
pip install dokr
```
## ECS Options
+ login into ecs directly (Assuming awscli is installed and configured)
```
dokr ecs login
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_ecs_login.png)
+ Deploy an image on a cluster
```
dokr ecs deploy --cluster cluster_name --service service_name --tag image_version
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_ecs_deploy.png)
+ Check ecs running logs of a Task - this command will ask for cluster/service and task defination.
**Note:** Install ecs-cli before running this command from here:
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html
```
dokr ecs log
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_ecs_log.png)
## Docker Helper Commands
+ Prune whole system - Cleans unused images, containers and volumes.
```
dokr dock --clean-all
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_clean_all.png)
+ Delete all the images matching the pattern
```
dokr dock --clean pattern_xxx
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_clean.png)
+ Add a tag to the existing image matching the provided pattern (for latest tag only)
```
dokr dock --tag pattern_xxx tag_name
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_tag.png)
+ Push all images on a system matching a pattern
This will push all images matching pattern 'pat'
```
dokr dock --push pat
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_push.png)
#### AWS Commands
+ Check current public ip of a machine on AWS
```
dokr aws --ip jenkins
```
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_aws_ip.png)
#### Run Apps (subsitute to `docker run` command and DockerCompose)
+ Configure your default values(like docker registry, port mapping, volume mapping etc. that will be same for all apps):
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_configure.png)
+ Add an new app for deployment:
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_configure_app.png)
+ Run all configured apps:
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_run.png)
+ Run a particular app from ECR tags:
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_run_app.png)
+ Run a particular app by providing a tag:
![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_run_app_tag.png)
### Development:
+ Clean ununsed: `rm -rf build/ dist/ *egg* **.pyc __pycache__`
+ Build package: `python setup.py bdist_wheel`
+ deploy package: `python -m twine upload dist/*`
follow this link for more details https://dzone.com/articles/executable-package-pip-install
Raw data
{
"_id": null,
"home_page": "https://github.com/javatechy/dokr",
"name": "dokr",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Deepak Kumar",
"author_email": "deepak.kumar.iet@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/41/ee/561fc06e9353498e2a3b0dff4146b415a09489b2b490aae2d49603b1e953/dokr-1.7.tar.gz",
"platform": "",
"description": "# dokr - Make your docker and ecs tasks easy\n\nA Helper pip package for docker and ECS tasks. This pip package helps you automate your CI/CD pipeline. If your using docker and Amazon ECS for deployments, this tool can be really helpful. This package uses aws cli and ecs cli. Mak\n\n\n### Assumptions:\n\n+ Assuming python is installed on your system.\n+ Docker is installed on your system\n+ [aws-cli](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) is installed and credentials are configured on your system.\n+ [ecs-cli](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html) is installed on system [*For Log Command only*]\n\n\nInstall `dokr` on your system using : \n\n```\npip install dokr\n```\n\n## ECS Options\n\n+ login into ecs directly (Assuming awscli is installed and configured)\n\n```\ndokr ecs login\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_ecs_login.png)\n\n\n+ Deploy an image on a cluster \n\n```\ndokr ecs deploy --cluster cluster_name --service service_name --tag image_version\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_ecs_deploy.png)\n\n\n+ Check ecs running logs of a Task - this command will ask for cluster/service and task defination.\n\n**Note:** Install ecs-cli before running this command from here:\n\t https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI_installation.html\n\n```\ndokr ecs log\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_ecs_log.png)\n\n\n## Docker Helper Commands\n\n+ Prune whole system - Cleans unused images, containers and volumes.\n\n```\ndokr dock --clean-all\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_clean_all.png)\n\n\n+ Delete all the images matching the pattern\n\n```\ndokr dock --clean pattern_xxx\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_clean.png)\n\n\n+ Add a tag to the existing image matching the provided pattern (for latest tag only)\n\n```\ndokr dock --tag pattern_xxx tag_name\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_tag.png)\n\n\n\n+ Push all images on a system matching a pattern\n\nThis will push all images matching pattern 'pat'\n\n```\ndokr dock --push pat\n```\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_dock_push.png)\n\n\n#### AWS Commands\n\n+ Check current public ip of a machine on AWS\n\n```\ndokr aws --ip jenkins \n```\n\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_aws_ip.png)\n\n\n#### Run Apps (subsitute to `docker run` command and DockerCompose)\n\n+ Configure your default values(like docker registry, port mapping, volume mapping etc. that will be same for all apps):\n\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_configure.png)\n\n\n+ Add an new app for deployment:\n\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_configure_app.png)\n\n+ Run all configured apps:\n\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_run.png)\n\n+ Run a particular app from ECR tags:\n\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_run_app.png)\n\n\n+ Run a particular app by providing a tag:\n\n![alt dokr_aws_ip](https://raw.githubusercontent.com/javatechy/dokr/master/screenshots/dokr_run_app_tag.png)\n\n\n### Development:\n\n+ Clean ununsed: `rm -rf build/ dist/ *egg* **.pyc __pycache__`\n+ Build package: `python setup.py bdist_wheel`\n+ deploy package: `python -m twine upload dist/*`\n\nfollow this link for more details https://dzone.com/articles/executable-package-pip-install\n\n",
"bugtrack_url": null,
"license": "",
"summary": "A Docker and AWS utility package",
"version": "1.7",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "c2d795f19ce19691487da5d5412ce2b6",
"sha256": "b21e15460a9eacf95b72bb7f41ecae10cc7ad5fe6d058a34fa5562b52b25804d"
},
"downloads": -1,
"filename": "dokr-1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c2d795f19ce19691487da5d5412ce2b6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12413,
"upload_time": "2021-03-17T05:27:08",
"upload_time_iso_8601": "2021-03-17T05:27:08.806272Z",
"url": "https://files.pythonhosted.org/packages/c0/c1/e914195b1b70d4c394eaae11e65c4cf02c6240b6a5520c6391019fb29972/dokr-1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "88f16859c4622d71ff97f143c60d8f2e",
"sha256": "bc57c458fce41f7c61e5fa1c98fd612aa5dd6e7a8f410c60a54a2e029c787f4d"
},
"downloads": -1,
"filename": "dokr-1.7.tar.gz",
"has_sig": false,
"md5_digest": "88f16859c4622d71ff97f143c60d8f2e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10361,
"upload_time": "2021-03-17T05:27:10",
"upload_time_iso_8601": "2021-03-17T05:27:10.649625Z",
"url": "https://files.pythonhosted.org/packages/41/ee/561fc06e9353498e2a3b0dff4146b415a09489b2b490aae2d49603b1e953/dokr-1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-03-17 05:27:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "javatechy",
"github_project": "dokr",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "boto3",
"specs": [
[
"==",
"1.8.7"
]
]
},
{
"name": "botocore",
"specs": [
[
"==",
"1.11.7"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2018.8.24"
]
]
},
{
"name": "chardet",
"specs": [
[
"==",
"3.0.4"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"6.7"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.14"
]
]
},
{
"name": "dokr",
"specs": [
[
"==",
"0.3"
]
]
},
{
"name": "ecs-deploy",
"specs": [
[
"==",
"1.4.3"
]
]
},
{
"name": "future",
"specs": [
[
"==",
"0.16.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"2.7"
]
]
},
{
"name": "jmespath",
"specs": [
[
"==",
"0.9.3"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.7.3"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.19.1"
]
]
},
{
"name": "s3transfer",
"specs": [
[
"==",
"0.1.13"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.11.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.23"
]
]
}
],
"lcname": "dokr"
}