Tag: apache2

在supervisord下,使根环境variables可见的最佳实践?

我有一些关键的环境variables为root用户设置。 (我不能改变这个,因为这是由虚拟主机环境,在这种情况下,docker)完成。 不过,我需要Apache2 / PHP才能够看到这些variables。 Apache2通过Supervisord运行,在它自己的用户下。 有没有办法让Apache2 / PHP查看这些variables,目前它大部分都没有。 任何帮助欢迎 麦克风

在Docker-Container启动时自动启动服务

我有一个奇怪的问题: 我创build了一个docker-container(debian图像)并安装了apache-server。 但是,当我重新启动容器,一切都在那里,但服务器不启动启动。 我用systemctl命令添加了apache2,但仍然无法正常工作。 我不知道这是一个docker工具还是一个debian问题。 电贺

访问Docker容器内的cgi脚本时出错,操作不允许:无法绑定unix域套接字

我正在使用Apache :: Test来testing我正在编写的Apache处理程序。 我的构build环境是从此Dockerfile创build的Docker容器: FROM google/debian:wheezy RUN apt-get -y install make gcc build-essential RUN apt-get -y install sudo RUN apt-get -y install apache2-threaded-dev RUN apt-get -y install libapache2-mod-perl2 libgd-gd2-perl libgd-tools RUN apt-get -y install libtest-harness-perl RUN apt-get -y install libtap-formatter-junit-perl libjson-perl 我构build容器并通过以下方式运行它: docker run -i -t –rm -v $PWD:/opt/51d device-detection:latest /opt/51d/entry.sh Apache :: Test不允许httpd服务器以root身份启动,并且我的容器以root身份运行,因此entry.sh脚本会创build一个用户以供testing使用: #!/bin/bash […]

允许Web服务器编辑泊坞窗容器内的文件

我正在尝试在我的Mac上将Docker设置为Web开发者环境。 我从我的机器共享本地卷到容器内的web根文件夹。 但是我被限制了权限,docker中的web服务器不能创build一个新的文件夹或者把新的文件写入共享卷,因为几乎所有的文件都有权限744,不同的用户和组。 我以为使所有权限777,但它听起来不好听,因为在混帐和未来在服务器上,它也将具有不良的权限。 以任何方式,创buildWeb服务器的新文件和文件夹都具有错误的权限。 我想在我的Mac上运行相同的组名称,在Docker(www-data)中运行Web服务器,并将权限更改为774.但这听起来很愚蠢。 Docker中快速pipe理文件的最佳方法是什么? 在我的方式,我需要编辑PHP文件,并立即在浏览器中看到的结果。

如何configurationdocker文件像perl一样运行cgi-script

我有这个文件: 的index.php Dockerfile /conf/myawesomesite.conf 的cgi-bin / helloworld.pl 在/conf/myawesomesite.conf中: <VirtualHost *:80> ServerAdmin webmaster@myawesomesite.com ServerName myawesomesite.com ServerAlias www.myawesomesite.com DocumentRoot /var/www/html/myawesomesite.com/httpdocs ErrorLog /var/www/myawesomesite.com/logs/error.log CustomLog /var/www/myawesomesite.com/logs/access.log combined Options ExecCGI AddHandler cgi-script .pl </VirtualHost> 在Dockerfile中: FROM ubuntu:16.04 ## Install Base Packages RUN apt-get update && apt-get -y install \ apache2 \ make \ curl \ git \ gcc RUN a2enmod […]

为什么apache2不会在docker映像上重新启动时删除pid文件

我已经创build了这个docker的形象: FROM debian:jessie RUN apt-get update && apt-get install -y apache2 python-pip libapache2-mod-wsgi l RUN pip install django CMD ["/usr/sbin/apache2ctl","-DFOREGROUND"] 当我运行一个容器时,我正在调用–restart=always参数。 所以如果我重启电脑主机,容器会自动重启。 但是,有一个问题:apache2 pid文件没有被删除,所以apache2无法重新启动。 我必须手动删除PID文件,一切都很好。 我有两个问题: 为什么这个PID文件不会在物理计算机上产生任何问题? 是否有可能告诉Apache在启动时擦除这个PID文件? 是否有可能在docker文件中放置“ pre-CMD ”命令? 一种将在apache2ctl之前运行的CMD ?

如何在不提示input密码的情况下使用htdigest创build用户

我正在写一个DockerFile来构build一个带有apache2和u2fval的图像,而且我需要为使用apache2摘要的一个用户创build证书。 但是命令: htdigest -c /whatever/myfile.digest "realm" user 将总是要求用户input密码,有没有办法给我一个命令的密码使用(不提示用户等…)? 谢谢。

在Docker容器中自动启动服务

我试图在Docker容器中启动一个像Apache2自动的服务 My Dockerfile: FROM ubuntu:14.04 RUN apt-get update RUN apt-get -y install apache2 ADD ./startup.sh /opt/startup.sh RUN chmod +x /opt/startup.sh CMD ["/bin/bash", "/opt/startup.sh"] RUN /opt/startup.sh My startup.sh: #!/bin/bash service apache2 start 但是Apache2并没有在容器中自动启动。

Heroku Permission denied:AH00072:make_sock:无法绑定地址:80

我正在尝试将一个容器化的应用程序部署到heroku。 我的Dockerfile看起来像这样: FROM ubuntu:14.04 RUN apt-get update && apt-get install -y apache2 && apt-get clean && rm -rf /var/lib/apt/lists/* ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_LOCK_DIR /var/lock/apache2 ENV APACHE_PID_FILE /var/run/apache2.pid RUN apt-get update && apt-get install -y php5 libapache2-mod-php5 php5-mysql php5-cli && apt-get clean && rm -rf /var/lib/apt/lists/* RUN echo "ServerName […]