docker-compose.yml files. Alternatively, you can use Crane's own configuration format, which maps more closely to Docker's run command to make it even easier. The CLI interface has similar commands than docker-compose, but they differ slightly in semantics. Read the compatibility notes for more information.
Instead of detaching from all containers and interleaving the logs (like
docker-compose up does), Crane attaches to the target and detaches from the dependencies by default. As a result, using interactive debugging is possible, e.g. if you are using Ruby,
byebug work as expected.
Instead of targeting all configured containers or a single one, Crane supports targeting a group of containers. This works by clustering containers in the configuration into groups.
By default, Crane applies the command to the target only, and intelligently handles dependencies. However, it is possible to extend the command to all dependencies of a target as well.
Crane offers a verbose mode that shows exactly which Docker commands are executed. This makes it trivial to fix issues, or run other containers with similar configuration for experimenting.
Pre-define commands that you run over and over again (like running a server, tests or REPLs) in the configuration. Now they are only a
crane cmd away — a perfectly streamlined Docker workflow.
Scripts can be run before or after key lifecycle events of containers. They are run synchronously on the host where Crane is installed and may even interrupt the flow by returning a non-zero status. Read more.
The paid PRO version includes fast bind-mounts on Mac. The free basic version includes all other features of Crane.