如何在Docker容器内运行Symfony控制台命令

4

我想在Docker容器中运行Symfony 3控制台命令,但无法获得正确的输出。

docker-compose.yaml

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

它返回以下响应 输入设备不是TTY。如果你在使用mintty,请在命令前加上“winpty”。

1个回答

0

https://docs.docker.com/compose/reference/exec/复制

要禁用此行为,您可以使用-T标志来禁用伪终端分配。

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


我将COMPOSE_INTERACTIVE_NO_CLI的值设置为1,然后再尝试使用您提供的命令,但是它显示以下错误:“$ docker-compose exec -T nginx php bin/console OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: "php": executable file not found in $PATH": unknown” - Abdul Awal
现在关于这个错误 >> 您正在尝试在 Nginx 容器上运行 PHP 命令。如果您使用的是默认的 Nginx 映像,则不应该在其中包含 PHP。我相信您正在尝试从 symfony_docker_php 容器中使用 PHP。 - Sounak Saha
我正在关注此存储库,以设置Symfony项目的Docker https://github.com/dunglas/symfony-docker - Abdul Awal
首先,您需要执行“docker compose up”命令,然后您的两个容器将启动。您可以通过运行“docker ps”命令来验证它们是否正在运行。如果两个容器都在运行,则可以通过访问http://localhost来检查您的应用程序。此外,您还可以通过以下方式从应用程序容器中验证PHP版本:“docker-compose exec -T app php --version”。 - Sounak Saha
我已经完成了这个任务,控制台返回以下PHP版本 $ docker-compose exec -T app php --version PHP 7.2.21 (cli) (built: Aug 20 2019 23:29:01) ( NTS ) 版权所有 (c) 1997-2018 PHP Group Zend Engine v3.2.0,版权所有 (c) 1998-2018 Zend Technologies 带有Zend OPcache v7.2.21,版权所有 (c) 1999-2018,由Zend Technologies提供 带有Xdebug v2.6.0,版权所有 (c) 2002-2018,由Derick Rethans提供 - Abdul Awal
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接