#docker #docker-compose
Вопрос:
Я ожидал, что смогу использовать docker-compose run -f <with this docker compose file>
, но это приводит к ошибке использования.
Как мне это сделать?
Вот мой вывод:
ls docker-compose-file.yml
docker-compose-file.yml
me@host:~/work/my-dir$ docker-compose -f docker-compose-file.yml run
Run a one-off command on a service.
For example:
$ docker-compose run web python manage.py shell
By default, linked services will be started, unless they are already
running. If you do not want to start linked services, use
`docker-compose run --no-deps SERVICE COMMAND [ARGS...]`.
Usage:
run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] [-l KEY=VALUE...] [--]
SERVICE [COMMAND] [ARGS...]
Options:
-d, --detach 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)
-l, --label KEY=VAL Add or override a label (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.
--use-aliases Use the service's network aliases in the network(s) the
container connects to.
-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
Комментарии:
1.
docker-compose run
запускает одноразовый контейнер, основанный на одном из контейнеров вdocker-compose.yml
файле, но с другой командой и несколькими другими отличиями. Это означает, что вам нужно указать как имя службы, так и команду в качестве аргументов. Какую задачу вы пытаетесь выполнить; ищете ли выdocker-compose up
вместо этого?
Ответ №1:
Существуют параметры для docker compose, которые идут до команды, и параметры для команды, которые идут после команды. Этот -f
параметр предназначен для docker compose, поэтому он идет перед командой
docker-compose -f <with this docker compose file> run
Комментарии:
1. Смотрите мои результаты….
2. Вывод , который вы получаете, — это параметры
docker-compose run
, т. Е. Параметры, которые вы можете указать после команды «Выполнить». Смотрите здесь параметры, которые вы можете указать перед командой выполнить, включая-f
опцию docs.docker.com/compose/reference3. @Snowcrash Вы хотите использовать
up
команду, а неrun
? Запуск предназначен для выполнения команды для службы. Поэтому, если вы этого хотите, вам также нужно указать имя службы и команду.