Files
docker-docs/compose/reference/run.md
Victoria Bialas 93bab5a66f Vnext compose (#2509)
* Adds documentation about the `--ignore-override` option

For PR https://github.com/docker/compose/pull/4543

When option `--ignore-override` is provided the `docker-compose.override.yml`
file, if it exists, will not be considered for any command. This option
has no effect when the `-f` option is used as that explicitly lists the
set of files to be considered.

Signed-off-by: Dennis Gove <dpgove@gmail.com>

* Compose 1.12.0 additions (#2472)

* Add mem_reservation to list of v2 options

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add dns_opt to v2 service configuration

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add pids_limit to service configurations

Signed-off-by: Joffrey F <joffrey@docker.com>

* Update list of options for docker-compose rm

Signed-off-by: Joffrey F <joffrey@docker.com>

* Update list of options for docker-compose config

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add --exit-code-from to docker-compose up documentation

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add --parallel to docker-compose pull reference

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add build-args to docker-compose build reference

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add --volume to docker-compose run reference

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add --project-directory to list of docker-compose options

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add reference docs for images command

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add documentation for COMPOSE_PATH_SEPARATOR

Signed-off-by: Joffrey F <joffrey@docker.com>

* Add documentation for cache_from option

Signed-off-by: Joffrey F <joffrey@docker.com>
2017-03-28 10:50:44 -07:00

54 lines
2.9 KiB
Markdown

---
description: Runs a one-off command on a service.
keywords: fig, composition, compose, docker, orchestration, cli, run
title: docker-compose run
notoc: true
---
```
Usage: run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
Options:
-d Detached mode: Run container in the background, print
new container name.
--name NAME Assign a name to the container
--entrypoint CMD Override the entrypoint of the image.
-e KEY=VAL Set an environment variable (can be used multiple times)
-u, --user="" Run as specified username or uid
--no-deps Don't start linked services.
--rm Remove container after run. Ignored in detached mode.
-p, --publish=[] Publish a container's port(s) to the host
--service-ports Run command with the service's ports enabled and mapped
to the host.
-v, --volume=[] Bind mount a volume (default [])
-T Disable pseudo-tty allocation. By default `docker-compose run`
allocates a TTY.
-w, --workdir="" Working directory inside the container
```
Runs a one-time command against a service. For example, the following command starts the `web` service and runs `bash` as its command.
docker-compose run web bash
Commands you use with `run` start in new containers with configuration defined by that of the service, including volumes, links, and other details. However, there are two important differences.
First, the command passed by `run` overrides the command defined in the service configuration. For example, if the `web` service configuration is started with `bash`, then `docker-compose run web python app.py` overrides it with `python app.py`.
The second difference is that the `docker-compose run` command does not create any of the ports specified in the service configuration. This prevents port collisions with already-open ports. If you *do want* the service's ports to be created and mapped to the host, specify the `--service-ports` flag:
docker-compose run --service-ports web python manage.py shell
Alternatively, manual port mapping can be specified with the `--publish` or `-p` options, just as when using `docker run`:
docker-compose run --publish 8080:80 -p 2022:22 -p 127.0.0.1:2021:21 web python manage.py shell
If you start a service configured with links, the `run` command first checks to see if the linked service is running and starts the service if it is stopped. Once all the linked services are running, the `run` executes the command you passed it. For example, you could run:
docker-compose run db psql -h db -U docker
This will open an interactive PostgreSQL shell for the linked `db` container.
If you do not want the `run` command to start linked containers, use the `--no-deps` flag:
docker-compose run --no-deps web python manage.py shell