Вы можете docker-compose run
альтернативную команду.Это не требует никаких изменений в вашем Dockerfile
или docker-compose.yml
.Например,
docker-compose run --rm web /bin/sh
Это создает новый контейнер, настроенный идентично тому, что запрашивается в docker-compose.yml
(с переменными среды и подключенными томами), за исключением того, что ports:
по умолчанию не публикуется.,Он по существу идентичен docker run
с теми же параметрами, за исключением того, что по умолчанию -i -t
включен.
Если ваш Dockerfile использует ENTRYPOINT
вместо CMD
для объявления команды основного контейнера, вам нужнота же опция --entrypoint
.Например, чтобы получить список файлов в рабочем каталоге изображения по умолчанию, вы можете
docker-compose run --rm --entrypoint /bin/ls web -l
(Если ваш ENTRYPOINT
является сценарием-оберткой, который в конечном итоге exec "$@"
вам не нужен.)