cli.md 2.3 KB


layout: default

title: Fig CLI reference

CLI reference

Most commands are run against one or more services. If the service is omitted, it will apply to all services.

Run fig [COMMAND] --help for full usage.

build

Build or rebuild services.

Services are built once and then tagged as project_service, e.g. figtest_db. If you change a service's Dockerfile or the contents of its build directory, you can run fig build to rebuild it.

help

Get help on a command.

kill

Force stop service containers.

logs

View output from services.

ps

List containers.

rm

Remove stopped service containers.

run

Run a one-off command on a service.

For example:

$ fig run web python manage.py shell

Note that this will not start any services that the command's service links to. So if, for example, your one-off command talks to your database, you will need to run fig up -d db first.

One-off commands are started in new containers with the same config as a normal container for that service, so volumes, links, etc will all be created as expected. The only thing different to a normal container is the command will be overridden with the one specified and no ports will be created in case they collide.

Links are also created between one-off commands and the other containers for that service so you can do stuff like this:

$ fig run db /bin/sh -c "psql -h \$DB_1_PORT_5432_TCP_ADDR -U docker"

scale

Set number of containers to run for a service.

Numbers are specified in the form service=num as arguments. For example:

$ fig scale web=2 worker=3

start

Start existing containers for a service.

stop

Stop running containers without removing them. They can be started again with fig start.

up

Build, (re)create, start and attach to containers for a service.

By default, fig up will aggregate the output of each container, and when it exits, all containers will be stopped. If you run fig up -d, it'll start the containers in the background and leave them running.

If there are existing containers for a service, fig up will stop and recreate them (preserving mounted volumes with volumes-from), so that changes in fig.yml are picked up.