Tag: PHP

Docker:nginx + mariadb + php + redis的docker-compose.yml文件

我想写一个docker-compose.yml的nginx + mariadb + php + redis, 我阅读有关撰写文件,url的文档: https : //docs.docker.com/compose/compose-file/#versioning 格式是这样的: version: '2' services: web: build: . ports: – "5000:5000" volumes: – .:/code networks: – front-tier – back-tier redis: image: redis volumes: – redis-data:/var/lib/redis networks: – back-tier volumes: redis-data: driver: local networks: front-tier: driver: bridge back-tier: driver: bridge 但是我不知道如何编写nginx + mariadb + php + […]

从Docker中检测Virtualbox

我的使用Docker的应用程序应该在Ubuntu中直接和Windows + VirtualBox(没有Vagrant)略有不同。 是否有可能检测到我是否在 Ubuntu > Docker > Ubuntu或in Windows > VirtualBox > Ubuntu > Docker > Ubuntu ? 为什么我需要这个? 我有PHP的Symfony应用程序和开发环境是非常缓慢的Windows(每个请求需要超过5秒),因为VirtualBox共享文件夹。 我将var/cache和var/logs移出到/dev/shm/appname/ ,一切都变得更快了。 但是使用Ubuntu的开发者并不需要这个function – 即使没有这个黑客攻击,它也能正常工作。 我的想法 每个开发人员都可以拥有自己docker-compose.yml并设置环境variables,但是现在我们在大多数情况下共享相同docker-compose.yml 。

用于PHP服务的Dockerfile

我需要为我的PHP服务创build一个Dockerfile。 我只是尝试了很多在网上find的选项,并没有正确的工作。 我在/home/karol/docker-file/service/start.php中有简单的PHP项目。 真的对我很重要。 提前致谢。 目前看起来像这样: FROM php:5.6-apache COPY ./ /var/www/html/ WORKDIR /usr/src/service CMD [ "php", "./requestdispatcher.php" ]

docker的mysql连接通过PHP

我在docker-compose.yml中有以下设置 mysql: image: mysql:latest ports: – "3306" volumes: – /var/lib/mysql environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: project MYSQL_USER: project MYSQL_PASSWORD: project 在我的index.php中,我想连接到我的数据库容器,但是,我不知道键入什么host = localhost, 下面的代码不起作用 <?php $db = new PDO('mysql:host=localhost;dbname=project;charset=utf8mb4', 'project', 'secret'); 它说 Fatal error: Uncaught PDOException: could not find driver in /code/index.php:2 Stack trace: #0 /code/index.php(2): PDO->__construct('mysql:host=loca…', 'project', 'secret') #1 {main} thrown in /code/index.php on line […]

PHPdocker最好的方法。 在Docker内部或外部构build应用程序?

我有PHP的应用程序,如框架,库等manu依赖项。所有这些依赖关系由composer php解决。 我已经看到了两种方式来dockerize apllication 第一种方式(build造出docker)使composer install在主机上,并将完整的工程目录复制到容器后。 第二种方法(在continer内部构build)添加到Dockerfile RUN composer install ,并将parsing依赖关系parsing为docker 我认为第一个更接近docker的方式。 但是第二种方式有一些优点: 它比主机更独立。 主机不需要php,composer。 我可以添加到Dockerfile的git clone <my project>和容器将是一个足够的。 它可以build立在任何主机与docker。 这意味着一个项目build设将是高度便携的 你觉得怎么样更可取?

Docker和微服务

我正在开发一个使用微服务的系统,为自己学习新技术。 一个服务在php(laravel)+ postgres,另一个在nodejs(快速)+ mongo,另一个在php(symfony)+与其他postgres服务器,我想把所有这些服务包装在docker。 我看了一下这个决定https://github.com/LaraDock/laradock ,但是只有一个容器工作区和一个容器来postgres,我该如何纠正docker?

Google App Engine中的MongoDB实例可以灵活地处于状态吗?

现在我已经设法使用自定义的Dockerfile将我的一个服务(用PHP编写的API)部署到GAE,我想部署另一个将成为Mongodb数据库的服务,以便我的PHP API可以将数据存储在Mongodb 。 因为我想在灵活的GAE中构build所有的微服务,所以我正在考虑使用相同的过程,即部署另一个定制的Dockerfile来构build我的Mongodb实例。 现在我想知道这是否是正确的方法? 在这种情况下,我担心我的Mongodb事件是有状态的。 在重启实例或部署其他版本时,数据是否会丢失?对于我正在尝试执行的操作,是否还有另一种更推荐的方法? PS:我不想使用Google数据存储,主要是因为我使用了Symfony PHP框架以及许多有用的软件包来与Mongo进行交互。

Docker部署更新共享卷

在生产中使用Docker的新东西我有一个devise问题。 什么是使用Docker部署一个PHP应用程序的最佳方法,该应用程序包含主应用程序目录中其他容器所使用的数据和信息,这些容器必须通过构build进行更新? 示例(简化Symfony类应用程序): – application – app – src – vendor – conf – conf/vhost.conf – web/assets/* 让我们简化只有2个服务 – php-fpm – nginx 1 /第一次尝试是build立2个图像 php-fpm:与 ADD。 在/ var / www / html等/项目/ VOLUME / var / www / html / project / 供应商(composer php)安装在Dockerfile中 这样我就可以到达/ var / www / html / project / on nginx […]

Symfony进程pgrep失败

这是我的代码(Laravel) $process= new Symfony\Component\Process\Process("pgrep java"); try { $process->mustRun(); } catch (ProcessFailedException $e) { return $e->getMessage(); } return $process->getOutput(); 它失败。 当我尝试pgrep –help它成功。 我在java运行时试过,而不是。 这是错误的: 我也使用Docker,我已经试过: docker-compose exec workspace bash和cd到/var/www/laravel/public并且在java运行时执行pgrep java 。 当java运行时,如预期的那样,它输出PID。 pkill java也不起作用。 我想知道为什么。

错误:mkdir与chown不能在Dockerfile中工作(nginx与php-fpm)

对于版本控制和安全性,我想将两个Dockerfiles合并为一个,然后为.sock =>创build一个目录,运行rmdir和chown。 如果没有rmdir和chown,我可以完美地构builddocker,如果通过端口9000运行。 只要我尝试设置.sock的目录,在dockerfile中,docker生成过程就会退出。 所有细节如下。 谢谢你的帮助。 第一个Dockerfile的一半 FROM debian:jessie ENV NGINX_VERSION 1.11.6-1~jessie RUN apt-key adv –keyserver hkp://pgp.mit.edu:80 –recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \ && echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" >> /etc/apt/sources.list \ && apt-get update \ && apt-get install –no-install-recommends –no-install-suggests -y \ ca-certificates \ nginx=${NGINX_VERSION} \ nginx-module-xslt \ nginx-module-geoip \ nginx-module-image-filter \ nginx-module-perl \ nginx-module-njs \ gettext-base […]