Tag: docker laravel 5

Laravel – Circle Ci使用容器作为容器?

我正在运行laravel项目和圈子ci进行持续集成,现在我现在的问题是我拉一个圆形的cidocker工具,不包含必要的工具,以便开始: version: 2 jobs: phpunit: working_directory: ~/test docker: – image: circleci/php:latest – image: circleci/mysql:latest 然后我必须下载PHP扩展,铬等,我想使用https://vessel.shippingdocker.com/而不是,这是否有可能将此船与cirle ci?

Larave5权限问题

我有一个简单的脚本来启动和运行本地/开发机器的docker环境。 在脚本里面我设置了导致问题的项目权限任务: 一个版本的任务: – name: Set permissions shell: > sudo chown -R {{local_user}}:{{wwwdata}} {{project_root}} && sudo chmod ug+w -R {{project_root}} && sudo chgrp -R www-data {{project_root}}/storage {{project_root}}/bootstrap/cache && sudo chmod -R ug+rwx {{project_root}}/storage {{project_root}}/bootstrap/cache 和所有工作正常,直到我们需要存储/更改storage目录中的东西。 ig我们不能logging命令行信息。 另一个版本: – name: Set permissions shell: > sudo chown -R {{local_user}}:{{wwwdata}} {{project_root}} && sudo find {{project_root}} -type f -exec […]

Docker中的Laravel没有识别环境variables

我在Docker中使用环境variables时遇到了问题。 出于某种原因,Laravel无法看到我在Dockerfile中设置的环境variables。 像APP_KEY,APP_ENV等,但是当我SSH进入docker集装箱: docker exec -it [container_name] bash 并运行以下命令: php artisan tinker > print_r($_ENV) 环境variables存在并被设置为适当的值。 但是,当我试图在刀片模板中做同样的事情时,我根本没有看到APP_KEY,APP_ENVvariables。 我已经编辑了Docker容器中的php.ini文件,以便它显示 variables_order = 'EGPCS' .env文件是我可以将环境variables传递给Laravel的唯一方法吗? 我感谢你的帮助。 干杯

Laravel Docker无法执行PostgreSQL pg_restore

我使用Laravel 5运行Docker容器,并且在我的机器上安装了PostgreSQL 。 一切都很完美,除了我可以在我的数据库上获得许多数据,并且使播种需要大约1个小时。 我想到的解决方法是恢复一个备份文件(仅数据),将在大约5分钟为我的数据库种子。 真棒! 但… Laravel运行在Docker容器中,PostgreSQL不在Laravel中 $cmd = "pg_restore -v -U pgadmin -d $database $path"; exec($cmd); 我得到一个错误,说没有pg_restore执行。 sh: 1: pg_restore: not found 所以,最后,我的问题是: 我怎样才能使Laravel能够执行pg_restore? Obs:在机器上运行Laravel的时候也行,但是我真的需要用Laravel在docker和postgres之外解决这个问题。 提前致谢! 更新: 我编辑了docker-compose.yml并在卷下添加了以下行 ./usr/bin/pg_restore:/usr/bin/pg_restore 现在错误只是 sh: 1: pg_restore: Permission denied 这意味着现在它“看到”pg_restore命令,但没有执行它的权限,因为它运行在docker集装箱内……我该如何解决这个问题?

在Laravel 5应用程序中,特定于环境的值应该保存在哪里?

我试图围绕在Laravel 5中进行configuration的.env方式来进行包装。 这里是我的故事:我将现有的Laravel 4应用程序转换为Laravel 5.我目前有不同的环境( local和production )和级联configuration系统很好地工作。 我有我的环境特定的应用程序configuration在app/config下的单独的文件夹中。 我的应用程序目前在Docker容器中部署(和开发)。 为了构build部署,我使用Dockerfile来构build我的应用程序映像(基于我的master分支),然后将其推送到存储库并拉到生产服务器上。 所以现在我试图将我的configuration转换为Laravel 5,我有点困惑。 我读过的所有东西都说你将.env文件添加到.gitignore文件,所以它不包含在你的版本库中。 我明白这一点的安全原因 – 不要提交敏感的API密钥/密码/无论你的存储库。 但我不知道如何确保我的生产.env文件包含在我的构build步骤,如果它不是存储库的一部分。 我的想法是把我的生产.env文件放在我的文件系统之外的某个地方,然后在需要的时候复制它。 这是pipe理这个“最佳做法”吗? 这是别人怎么做的? 谢谢!