https://github.com/faradayio/ecs_compose
WORK IN PROGRESS: docker-compose.yml-based interface for Amazon EC2 Container Service (ECS)
https://github.com/faradayio/ecs_compose
Last synced: 11 months ago
JSON representation
WORK IN PROGRESS: docker-compose.yml-based interface for Amazon EC2 Container Service (ECS)
- Host: GitHub
- URL: https://github.com/faradayio/ecs_compose
- Owner: faradayio
- License: mit
- Created: 2015-07-31T13:35:10.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2020-12-15T18:01:51.000Z (over 5 years ago)
- Last Synced: 2025-06-29T06:42:55.117Z (12 months ago)
- Language: Ruby
- Size: 73.2 KB
- Stars: 4
- Watchers: 14
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# EcsCompose
**This is a work in progress!**
This gem attempts to provide a `docker-compose`-like interface to Amazon EC2 Container Service (ECS). It takes a `docker-compose.yml` file, and uses the included container definitions to update an ECS task definition and an ECS service.
This is still somewhat rudimentary, and the command-line interface is subject to change.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'ecs_compose'
```
And then execute:
$ bundle install
Or install it yourself as:
$ gem install ecs_compose
## Usage
Using the Amazon Web Services console, create a new ECS cluster and define a service `my-service`. Describe your service using a standard `docker-compose.yml` file. Then run:
```sh
ecs-compose -i service:my-service up
```
This will update the task definition `my-service`, and then update the running copy of `my-service` to the new task definition. The `-i` argument specifies the ECS task type (a one-shot `task`, or a persistent `service`, as well as a value to use as the task definiton name and family name on ECS.
There's also a "manifest" mode that allows you to work with multiple
`docker-compose.yml` files, each defining a different service or task.
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec ecs_compose` to use the gem in this directory, ignoring other installed copies of this gem.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/ecs_compose.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).