Tag: PHP

docker上的Magento 2 – 没有加载的CSS

我使用composer php安装了magento: composer create-project –repository-url=https://repo.magento.com/ magento/project-community-edition 并加载样本数据。 它在本地主机上工作得很好。 我为magento创build了dockerfile和docker-compose:Dockerfile: FROM ubuntu:latest MAINTAINER xxxx RUN apt-get -qqy update RUN apt-get -qqy install apache2 \ php \ mysql-client \ libapache2-mod-php \ php-pear \ php-mcrypt \ php-gd \ php-curl \ php-mysql \ php-dom \ php-xml \ php-xsl \ php-mbstring \ php-intl \ php-zip \ php-cli \ php-cgi \ […]

在Docker中为Laravel创build一个开发环境

我在Ubuntu机器上安装了一个定制的Laravel。 然而按照Laravel的指示,我没有使用Homestead来启动我的应用程序。 相反,我使用composer php在我的机器上安装了应用程序,然后根据需要安装依赖项和库。 现在我想用另一台机器进行开发。 如何使用Docker打包我的机器环境的副本以创build要在另一台机器上使用的容器。 我是Docker的新手,因为什么原因没有使用过。

获取composer php(PHP的依赖pipe理器)运行在docker上的图像构build

注:我不再使用这个环境,所以我无法testing答案并接受答案。 对不起。 TL; DR你能指点我一个使用composer php处理PHP依赖关系的docker镜像的例子吗? 我在这篇文章中的所有问题都是关于composer php的PHP依赖工具 而不是 dockercomposer php的后继者。 我试图build立我自己的docker图像来运行wordpress作为一个composer php依赖项安装 。 我正在使用docker php image作为基础来构build一个docker镜像,我需要做的是安装composer并运行一个composer update命令,不pipe是在图像创build时间还是图像构build时间(不知道是否两者都是好)。 我可以通过手动执行所有步骤(运行Docker镜像,抨击它,复制和粘贴每一步)来运行一切。 但是当我将所有这些步骤放在一个Dockerfile上时,我不会让作曲者编写这些文件。 一段时间以来,我一直试图获得一个最小的失败的例子,但是我得到的那个并不是最小的。 我的testing是由以下内容组成(下面的链接到相关的github仓库) Dockerfile NFORMATION ~~~# # based on # https://hub.docker.com/r/richarvey/nginx-php-fpm/ # and # https://hub.docker.com/_/wordpress/ FROM php:7.0.2-apache MAINTAINER Miquel Adell <miquel@miqueladell.com> ENV WORDPRESS_VERSION 4.4.1 #~~~ DEPENDENCIES ~~~# # Add PHP repository to apt source RUN apt-get update […]

保持容器活着并使用docker-compose链接

我想用docker-compose来组合php和几个数据库(orientdb,neo4j等)。 然后进入php容器并使用shell执行命令。 个别地,我所有的容器都是水stream运行的,当我把它们合在一起的时候,它们都运行着。 但是,我不能为了我的生活找出如何保持php容器活着,所以我可以进入testing。 为了简单起见,我只使用一个数据库:orient-db。 我docker-compose.yml文件: version: '2' services: php: build: . links: – orientdb orientdb: image: orientdb:latest environment: ORIENTDB_ROOT_PASSWORD: rootpwd ports: – "2424:2424" – "2480:2480" 我的“PHP” Dockerfile : FROM php:5.6-cli ADD . /spider WORKDIR /spider RUN curl -sS https://getcomposer.org/installer | php — –install-dir=/usr/bin/ –filename=composer RUN composer install –prefer-source –no-interaction RUN yes | pecl install […]

减less自定义Docker镜像大小的最佳方法

我已经build立了一个基于官方PHP FPM图像 php:7.0.14-fpm-alpine的定制Docker镜像 我想保持图像的大小,所以我select了正式的alpine PHP-FPM版本,因为它的重量只有27 MB 。 我通过Dockerfile只安装了几个额外的软件包,图像的大小增加到277.5 MB 。 这是我的Dockerfile: FROM php:7.0.14-fpm-alpine COPY ./config/www-pool.conf /usr/local/etc/php-fpm.d/www.conf COPY ./scripts/download-composer.sh /root/download-composer.sh WORKDIR /root RUN chmod +x download-composer.sh \ && ./download-composer.sh \ && mv composer.phar /usr/local/bin/composer RUN ["mkdir", "/var/log/php-fpm"] RUN apk –update add \ autoconf g++ make \ openssl-dev \ libxml2-dev RUN pecl install \ xdebug \ mongodb […]

为什么从官方的Docker镜像的PHP-FPM不适合我?

我尝试从php:fpm运行一个新的容器php:fpm : docker run –name fpmtest -d -p 80:9000 php:fpm 默认情况下,它在Dockerfile中显示端口9000。 然后,我login到容器并创buildindex.html文件: $ docker exec -i -t fpmtest bash root@2fb39dd6a40b:/var/www/html# echo "Hello, World!" > index.html 在容器内部,我试着用curl来获得这个内容: # curl localhost:9000 curl: (56) Recv failure: Connection reset by peer 在容器外面,我得到另一个错误: $ curl localhost curl: (52) Empty reply from server

Csrf令牌问题与缩放

我已经将我的应用程序扩展到3个不同的服务器,这些服务器使用通用的mysql和redis服务 比我已经设置会话和caching驱动程序我redis(他们工作正常)。 但我仍然得到令牌不匹配错误。 有没有人解决这个问题,而不closuresCSRF保护? 顺便说一句,我正在使用Docker。

访问容器内的图像哈希

是否可以从容器内访问用于创build容器的图像的哈希ID? 我想在一个容器中运行的php应用程序提供的每个页面的底部提供一个“签名版本”。 我想一种方法是在Docker撰写文件中使用环境variables: environment: – IMAGE_HASH=${IMAGE_HASH} 然后有一个包装脚本首先在运行docker-compose之前将IMAGE_HASH = ABC123写入.env文件。 脚本可以检查图像以获取哈希ID。 但是我想知道是否有一个“正确”的方法来做到这一点? 所以从撰写文件的内容如下: environment: – IMAGE_HASH=this.imagehash

如何在不使用ng服务的情况下投放Angular 5应用程序?

我可以用ng serve来构build和服务Angular 5项目,并在浏览器中查看它。 我想将文件移动到Docker容器上,因为我的最终应用程序需要一个php后端。 当我将与ng serve运行相同的文件系统移动到docker版本并尝试导航到它时,我收到一个服务器错误。 我知道容器工作正常,因为我可以PHP文件浏览器在各自的本地端口没有任何问题。 所以它需要是Angular导致错误的东西。 我注意到, ng new angular-tour-of-heroes项目没有在根项目目录中的index.html。 当我将src/文件夹中的文件移动到根目录时,浏览器中仍然没有任何东西。 我如何使用Docker而不是ng serve来使用Angular应用程序?

如何使用官方PHP Docker镜像方法安装php-redis扩展?

我想用基于官方PHP Docker镜像的 php-redis扩展来构build我的PHP-FPM镜像,例如,使用这个Dockerfile: php:5.6-fpm 。 文档说,我可以这样安装扩展,手动安装扩展的依赖关系: FROM php:5.6-fpm # Install modules (iconv, mcrypt and gd extensions) RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install iconv mcrypt \ && docker-php-ext-configure gd –with-freetype-dir=/usr/include/ –with-jpeg-dir=/usr/include/ \ && docker-php-ext-install gd CMD ["php-fpm"] 没有Docker我用apt-get install php5-redis安装它。 但是我怎样才能使用上面的方法来安装它?