# 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
```

+ Deploy an image on a cluster
```
dokr ecs deploy --cluster cluster_name --service service_name --tag image_version
```

+ 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
```

## Docker Helper Commands
+ Prune whole system - Cleans unused images, containers and volumes.
```
dokr dock --clean-all
```

+ Delete all the images matching the pattern
```
dokr dock --clean pattern_xxx
```

+ Add a tag to the existing image matching the provided pattern (for latest tag only)
```
dokr dock --tag pattern_xxx tag_name
```

+ Push all images on a system matching a pattern
This will push all images matching pattern 'pat'
```
dokr dock --push pat
```

#### AWS Commands
+ Check current public ip of a machine on AWS
```
dokr aws --ip jenkins
```

### 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