2021-03-08 15:47:24 +01:00
|
|
|
|
command: docker compose run
|
|
|
|
|
short: Run a one-off command on a service.
|
2021-06-08 09:39:49 +02:00
|
|
|
|
long: "Runs a one-time command against a service. \n\nthe following command starts
|
|
|
|
|
the `web` service and runs `bash` as its command.\n`docker compose run web bash`\n\nCommands
|
|
|
|
|
you use with run start in new containers with configuration defined by that of
|
|
|
|
|
the service,\nincluding volumes, links, and other details. However, there are
|
|
|
|
|
two important differences:\n\nFirst, the command passed by `run` overrides the
|
|
|
|
|
command defined in the service configuration. For example, if the \n`web` service
|
|
|
|
|
configuration is started with `bash`, then `docker compose run web python app.py`
|
|
|
|
|
overrides it with \n`python app.py`.\n\nThe second difference is that the `docker
|
|
|
|
|
compose run` command does not create any of the ports specified in the \nservice
|
|
|
|
|
configuration. This prevents port collisions with already-open ports. If you do
|
|
|
|
|
want the service’s ports \nto be created and mapped to the host, specify the `--service-ports`\n\n```\ndocker
|
|
|
|
|
compose run --service-ports web python manage.py shell\n```\n\nAlternatively,
|
|
|
|
|
manual port mapping can be specified with the `--publish` or `-p` options, just
|
|
|
|
|
as when using docker run:\n\n```\ndocker compose run --publish 8080:80 -p 2022:22
|
|
|
|
|
-p 127.0.0.1:2021:21 web python manage.py shell\n```\n\n\nIf you start a service
|
|
|
|
|
configured with links, the run command first checks to see if the linked service
|
|
|
|
|
is running \nand starts the service if it is stopped. Once all the linked services
|
|
|
|
|
are running, the run executes the command you \npassed it. For example, you could
|
|
|
|
|
run:\n\n```\ndocker compose run db psql -h db -U docker\n```\n\nThis opens an
|
|
|
|
|
interactive PostgreSQL shell for the linked `db` container.\n\nIf you do not want
|
|
|
|
|
the run command to start linked containers, use the `--no-deps` flag:\n\n```\ndocker
|
|
|
|
|
compose run --no-deps web python manage.py shell\n```\n\nIf you want to remove
|
|
|
|
|
the container after running while overriding the container’s restart policy, use
|
|
|
|
|
the `--rm` flag:\n\n```\ndocker compose run --rm web python manage.py db upgrade\n```\n\nThis
|
|
|
|
|
runs a database upgrade script, and removes the container when finished running,
|
|
|
|
|
even if a restart policy is \nspecified in the service configuration."
|
2021-03-08 15:47:24 +01:00
|
|
|
|
usage: docker compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l
|
|
|
|
|
KEY=VALUE...] SERVICE [COMMAND] [ARGS...]
|
|
|
|
|
pname: docker compose
|
|
|
|
|
plink: docker_compose.yaml
|
|
|
|
|
options:
|
|
|
|
|
- option: detach
|
|
|
|
|
shorthand: d
|
|
|
|
|
value_type: bool
|
|
|
|
|
default_value: "false"
|
|
|
|
|
description: Run container in background and print container ID
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: entrypoint
|
|
|
|
|
value_type: string
|
|
|
|
|
description: Override the entrypoint of the image
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: env
|
|
|
|
|
shorthand: e
|
|
|
|
|
value_type: stringArray
|
|
|
|
|
default_value: '[]'
|
|
|
|
|
description: Set environment variables
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: labels
|
|
|
|
|
shorthand: l
|
|
|
|
|
value_type: stringArray
|
|
|
|
|
default_value: '[]'
|
|
|
|
|
description: Add or override a label
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: name
|
|
|
|
|
value_type: string
|
|
|
|
|
description: ' Assign a name to the container'
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: no-TTY
|
|
|
|
|
shorthand: T
|
|
|
|
|
value_type: bool
|
|
|
|
|
default_value: "false"
|
|
|
|
|
description: |
|
2021-06-08 09:39:49 +02:00
|
|
|
|
Disable pseudo-noTty allocation. By default docker compose run allocates a TTY
|
2021-03-08 15:47:24 +01:00
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: no-deps
|
|
|
|
|
value_type: bool
|
|
|
|
|
default_value: "false"
|
|
|
|
|
description: Don't start linked services.
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: publish
|
|
|
|
|
shorthand: p
|
|
|
|
|
value_type: stringArray
|
|
|
|
|
default_value: '[]'
|
|
|
|
|
description: Publish a container's port(s) to the host.
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: rm
|
|
|
|
|
value_type: bool
|
|
|
|
|
default_value: "false"
|
|
|
|
|
description: Automatically remove the container when it exits
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: service-ports
|
|
|
|
|
value_type: bool
|
|
|
|
|
default_value: "false"
|
|
|
|
|
description: |
|
|
|
|
|
Run command with the service's ports enabled and mapped to the host.
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: use-aliases
|
|
|
|
|
value_type: bool
|
|
|
|
|
default_value: "false"
|
|
|
|
|
description: |
|
|
|
|
|
Use the service's network useAliases in the network(s) the container connects to.
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: user
|
|
|
|
|
shorthand: u
|
|
|
|
|
value_type: string
|
|
|
|
|
description: Run as specified username or uid
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: volumes
|
|
|
|
|
shorthand: v
|
|
|
|
|
value_type: stringArray
|
|
|
|
|
default_value: '[]'
|
|
|
|
|
description: Bind mount a volume.
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
- option: workdir
|
|
|
|
|
shorthand: w
|
|
|
|
|
value_type: string
|
|
|
|
|
description: Working directory inside the container
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
deprecated: false
|
|
|
|
|
experimental: false
|
|
|
|
|
experimentalcli: false
|
|
|
|
|
kubernetes: false
|
|
|
|
|
swarm: false
|
|
|
|
|
|