Awesome
Plis
Helps your development process with Docker Compose by asking nicely :)
Install
On macOS, install it via Homebrew:
brew tap icalialabs/formulae
brew install plis
On other systems you can:
- Download the executable for your system from the Releases Page
- Place it on any of the paths reachable in $PATH
Special behaviors:
plis start [services-optional]
: Starts a docker-compose project, with the following extra functionality:- If some or all of the requested project's containers are missing, issues a
docker-compose up -d
command. - If all of the requested project's containers are present, issues a
docker-compose start
command.
- If some or all of the requested project's containers are missing, issues a
plis attach [service_name]
: It figures out the given service's container, and attaches the console to it.plis run [service_name] [command]
: It runs the given command:- If there's a running container for the given service, it executes it issuing a
docker exec -ti
command. - If there are no running containers for the given service, it executes it issuing a
docker-compose run --rm
command.
- If there's a running container for the given service, it executes it issuing a
# Start a docker-compose project:
plis start
# Restart a service:
plis restart web
# Attach the console to a service:
plis attach web
# Run a command on an existing or new container:
plis run web rails c
# Stop a service:
plis stop web
TODO's:
-
build
command to invoke the docker-compose build command. - Split up the big
plis.go
file. -
check context
command to list the files that will pass to the Docker build context. -
start
command with just one service should attach to the container immediately. (i.e.:plis start web
starts a rails web container and attaches to it, mimicking the behavior of runningrails server
on the host) - Change the
run
command to usedocker-compose exec
instead ofdocker exec
whenever a running container is already available. - Copy (from existing templates/examples) or generate blank dotenv files referenced in the Compose file.
- Install Docker (for Mac/Windows or native for Linux) if it is missing.
- Make
plis start github.com/some_org/some_dockerized_app
clone the project and run it. -
upgrade
command that upgradesplis
to the newest version. -
prune
command to invokedocker system prune
.