如何在Windows 10家庭中使用这个命令:
docker-compose run api composer install --no-interaction
例:
docker-compose run api composer install --no-interaction - Interactive mode is not yet supported on Windows. Please pass the -d flag when using `docker-compose run`.
可能吗 ?
你有没有例子?
问题2836跟踪docker-compose在Windows上的交互模式支持,提出了一些替代方案:
从容器内使用bash:
docker exec -it MY_CONTAINER bash
Rodrigo男爵使用docker-compose-run脚本 :
脚本(把函数放在~/.zshrc
或~/.bashrc
中,例如在一个Windows git bash shell中):
#!/bin/bash function docker-compose-run() { if [ "$1" = "-f" ] || [ "$1" = "--file" ] ; then docker exec -i $(docker-compose -f $2 ps $3 |grep -m 1 $3 | cut -d ' ' -f1) "${@:4}" else docker exec -i $(docker-compose ps $1 | grep -m 1 $1 | cut -d ' ' -f1) "${@:2}" fi } docker-compose-run "$@"
用法:
用法:
docker-compose-run web rspec # or: docker-compose-run -f docker-compose.development.yml web rspec
更简单的选择是使用选项-d
和获取日志
docker-compose run -rm <service> <command>
被替换为:
docker-compose-run <service> <command>
为了这个工作,将这个片段添加到~/.bashrc
:
docker-compose-run() { CONTAINER_NAME=$(docker-compose run -d $@) docker logs -f $CONTAINER_NAME docker rm $CONTAINER_NAME }