Tag: symfony

Symfony和Docker – caching和日志dirs权限

我试图设置一个Symfony项目使用docker,但总是给与“caching”目录权限相关的错误。 我已经尝试了一切,我似乎无法find一个解决scheme。 问题是不知何故,即使我的服务器和php-fpm用户设置为万维网数据,总是使用“root”所有者创buildcaching文件夹。 也许是因为php-cli用户? 我曾尝试: – setfacl:不要与docker工人 – chown / chmod到www-data:也没有工作。 它可能会在开始时正确地更改所有者,但他们在其他地方发生错误。 泊坞窗,compose.yml app: build: . command: "tail -f /dev/null" # keep the application container running links: – mysql volumes: – .:/var/www nginx: build: docker/nginx/ ports: – 8090:80 links: – php-fpm volumes_from: – app php-fpm: build: docker/fpm ports: – 9000:9000 volumes_from: – app mysql: image: […]

Docker的mac symfony 3很慢

我正在用Symfony 3开始一个新项目,我想使用Docker作为开发环境。 我们将与十几个开发人员一起工作,所以我想要一个简单的安装过程。 这是我的docker-compose.yml version: '2' services: db: image: mysql ports: – "3307:3306" environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: mydb MYSQL_USER: root MYSQL_PASSWORD: root php: build: ./php-fpm expose: – "9001" volumes: – .:/var/www/project – ./var/logs:/var/www/project/app/logs links: – db nginx: build: ./nginx ports: – "8001:80" links: – php volumes_from: – php volumes: – ./var/logs/nginx/:/var/log/nginx 我安装了最近的Docker for Mac应用程序(testing版)。 最大的问题是我的symfony应用程序非常慢(一个简单的页面需要5秒以上)。 […]

Symfony服务器:在PHP Docker容器中运行

我有一个PHPdocker集装箱在哪里是我的symfony项目。 这是我的docker-compose.yml php-fpm: build: ./php container_name: php-fpm links: – db ports: – 9000:9000 – 8448:8448 – 8000:8000 working_dir: /var/www/html/ volumes: – ../app:/var/www/html volumes_from: – data tty: true env_file: – ./docker.env entrypoint: /entrypoint.sh 我想用这个命令启动我的symfony项目: php bin/console server:run localhost:8000 但是,当我想访问url时,它不工作。 我有这个错误消息: 本地主机页面不起作用 本地主机没有发送任何数据。 我该如何解决这个问题? PS:我正在使用docker for mac 和php bin/console -vvv server:run localhost:8000输出: [2016-08-06 14:09:53] php.DEBUG:fsockopen():无法连接到localhost:8000(Connection refused){“type”:2,“file”:“/ var […]

composer php在Docker中使用自己的Symfonypath(加载旧文件)

我正在使用docker。 发布更新命令(php类)在作曲者更新后运行。 工作得很好,直到我做了Laravel更新5.4-> 5.5,下载了新的Symfony包 composer php清除caching没有帮助 composer php自我更新没有帮助 composer php签名是平等的 [Symfony \ Component \ Debug \ Exception \ FatalThrowableError]调用未定义的方法Illuminate \ Foundation \ Console \ ClosureCommand :: setHidden() 我正在塞取文件,这个方法存在于父类中! 我把这个小东西放在构造函数里是怎么回事: use Symfony\Component\Console\Command\Command as SymfonyCommand; class Command extends SymfonyCommand { public function __construct() { $r1 = new \ReflectionClass($this); $r2 = new \ReflectionClass(SymfonyCommand::class); var_dump([$r1->getFileName(), $r2->getFileName()]); } // rest […]

Symfony2的Docker容器中的权限问题

我打算创build一个Docker镜像来引导Symfony项目。 这是我的Dockerfile: FROM php:7-apache LABEL Description = "This image is used to start Symfony3 project" ENV DIRPATH /var/www/html # apt-get command RUN apt-get update && apt-get install -y \ vim \ git RUN apt-get install -y zlib1g-dev && docker-php-ext-install zip # Install Composer RUN curl -sS https://getcomposer.org/installer | php RUN mv composer.phar /usr/local/bin/composer # Install […]

composer php安装失败,当无法看到MySQL数据库

TL; DR:安装后脚本无法看到MySQL服务器时,composer php安装失败 我正在为Symfony应用程序构buildDocker容器,在构build过程中,我做了这样的事情 RUN export SYMFONY_ENV=prod && \ composer install –prefer-dist –optimize-autoloader 在安装结束时,它会失败 Generating optimized autoload files [Doctrine\DBAL\Exception\DriverException] An exception occured in driver: SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111) [Doctrine\DBAL\Driver\PDOException] SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111) [PDOException] SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' […]

将Docker容器部署到AWS时运行数据库迁移命令

请多多包涵。 对Docker来说很新颖。 我使用CodeDeploy将Docker容器(分离)部署到AWS EC2registry。 在部署时,在设置一些环境variables之后运行以下命令: exec docker run -d ${PORTS} -v cache-${CACHE_VOLUME} –env-file $(dirname $0)/docker.env –tty "${IMAGE}:${TAG}" 容器在EC2容器服务中运行定位和标记的图像。 到目前为止没有问题。 由于这是一个PHP应用程序(特别是一个Symfony2应用程序),我通常需要发出以下命令来执行部署的数据库迁移: php app/console doctrine:migrations:migrate –no-interaction 现在,是否有任何运行此命令在“docker运行…”,而保持容器运行,还是我需要运行另一个容器专门为这个命令? 非常感谢!

无法通过PHP连接到docker mysql

我有一个docker-compose设置了两个容器:一个是php / apache服务,另一个容器是数据库(mysql)。 这是我的docker-compose.yml version: '2' services: app: depends_on: – db links: – db:mysql build: . image: app ports: – "80:80" restart: always links: – db:db volumes: – ../:/var/www/html/ db: image: mysql:latest restart: unless-stopped volumes: – ./db_data:/var/lib/mysql – ./databaseDumps:/tmp/databaseDumps environment: MYSQL_USER: "myApp" MYSQL_PASSWORD: "root" MYSQL_ROOT_PASSWORD: "root" MYSQL_DATABASE: "myAppDatabase" MYSQL_ROOT_HOST: "%" 这里是我的应用程序Dockerfile: FROM php:7-apache COPY prefilled_files/000-default.conf […]

在参数中设置symfonycaching目录

我正在为Symfony应用程序构builddocker环境。 每个应用程序都有一个容器,其中包含链接到应用程序服务器的Web根目录的附加数据容器。 作为基础架构安全强化的一部分,这些数据容器被设置为只读,以防止任何远程代码被利用。 每个应用程序也有一个侧面的汽车容器,允许日志写入。 Symfony当前将caching写入默认的cache_dir位置 ${web_root}/app/cache/${env} 这是在只读数据容器中 当试图启动应用程序时,我得到这个错误 无法写入caching目录 很明显,因为它在只写容器中会发生 我已经设置了我的log_path设置在读写边车logging容器中的只读容器之外的参数 /data/logs/symfony 这工作正常。 我已经阅读了Symfony的食谱如何超越目录结构,但它只build议如何在AppKernal.php中做到这AppKernal.php ,我不想做的path可能会改变取决于如果它在local/uat/prod环境。 我们从我们的构build服务器提供Symfony不同的参数取决于我们正在部署的环境,所以把这个configuration放在这里是有道理的。 有没有人知道是否有可能重写caching目录在configuration而不是编辑AppKernal.php