Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jenssegers/captain
⚓️ Easily start and stop docker compose projects
https://github.com/jenssegers/captain
Last synced: 3 days ago
JSON representation
⚓️ Easily start and stop docker compose projects
- Host: GitHub
- URL: https://github.com/jenssegers/captain
- Owner: jenssegers
- Created: 2017-12-01T20:04:33.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T07:39:21.000Z (about 2 years ago)
- Last Synced: 2024-07-31T21:56:11.731Z (5 months ago)
- Language: Go
- Homepage:
- Size: 1.92 MB
- Stars: 237
- Watchers: 9
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-docker - captain - Easily start and stop docker compose projects from any directory. By [@jenssegers](https://github.com/jenssegers) (Container Operations / User Interface)
- awesome-docker - captain - Easily start and stop docker compose projects from any directory. By [@jenssegers](https://github.com/jenssegers) (Container Operations / User Interface)
README
# Captain
[![Build Status](https://travis-ci.org/jenssegers/captain.svg?branch=master)](https://travis-ci.org/jenssegers/captain)
Easily start and stop docker compose projects with captain, arrrrr.
## Installation
Binaries can be manually downloaded from GitHub releases: https://github.com/jenssegers/captain/releases
#### OSX
```
curl -L https://github.com/jenssegers/captain/releases/download/0.3.3/captain-osx > /usr/local/bin/captain && chmod +x /usr/local/bin/captain
```#### Linux
```
curl -L https://github.com/jenssegers/captain/releases/download/0.3.3/captain-linux > /usr/local/bin/captain && chmod +x /usr/local/bin/captain
```#### Windows (untested)
Download `captain.exe` via https://github.com/jenssegers/captain/releases/download/0.3.3/captain.exe
## Usage
Captain searches for docker-compose projects in your `$HOME` folder and allows you to start and stop those projects by matching the project's directory name.
### Starting a project
If I have a folder called `my-secret-project` that contains a `docker-compose.yml` file, I can start that project using:
```
captain start my-secret-project
```Captain will also do partial matching of the project name, so that you can also use:
```
captain start secret
```Captain is smart, and does fuzzy matching:
```
captain start scrt
```### Stopping a project
Stopping a project works similarly:
```
captain stop secret
```### Restarting a project
Restart a project using:
```
captain restart my-secret-project
```### Viewing project logs
View logs of a project using:
```
captain logs my-secret-project
```### Listing projects
You can see all managable projects using:
```
captain list
```### Stopping all containers
To quickly stop all running docker containers, use:
```
captain abandon
```### Executing command in a service
Executing command in a running service container
```
captain exec
captain exec my-secret-project web bash
```Executing command as a new service container
```
captain run
captain run my-secret-project cli bash
```## Tweak the running
You can tweak some behaviour through some environmental variables:
* CAPTAIN_ROOT: the starting directory from where the docker-compose are searched (default: home dir of the user)
* CAPTAIN_DEPTH: the number of subdirectory where to search the docker-compose.yml files (default: 5)