我正在尝试在 docker 容器内运行 Symfony 3 控制台命令,但无法获得正确的输出。
version: '3.4'
services:
app:
build:
context: .
target: symfony_docker_php
args:
SYMFONY_VERSION: ${SYMFONY_VERSION:-}
STABILITY: ${STABILITY:-stable}
volumes:
# Comment out the next line in production
- ./:/srv/app:rw,cached
# If you develop on Linux, comment out the following volumes to just use bind-mounted project directory from host
- /srv/app/var/
- /srv/app/var/cache/
- /srv/app/var/logs/
- /srv/app/var/sessions/
environment:
- SYMFONY_VERSION
nginx:
build:
context: .
target: symfony_docker_nginx
depends_on:
- app
volumes:
# Comment out the next line in production
- ./docker/nginx/conf.d:/etc/nginx/conf.d:ro
- ./public:/srv/app/public:ro
ports:
- '80:80'
我的控制台命令
docker-compose exec nginx php bin/console
它返回以下响应
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
复制自https://docs.docker.com/compose/reference/exec/
要禁用此行为,您可以使用 -T 标志来禁用伪 tty 分配。
docker-compose exec -T nginx <command>
或者,将 COMPOSE_INTERACTIVE_NO_CLI 值设置为 1
export COMPOSE_INTERACTIVE_NO_CLI=1
要运行 php bin/console,您需要从应用程序容器运行,如下所示。
docker-compose exec -T app php bin/console