我正在将我们目前的旧应用程序进行Docker化。我们使用了几个服务,但我遇到问题的是php、apache,尤其是apache的https。我正在使用“php:5.6.30-apache”镜像,因此我预先安装了php和apache。
现在我已经更改了“000-default.conf”的内容:
<VirtualHost *:80>
ServerAdmin admin@admin.io
DocumentRoot /var/www/html/app/htdocsAdmin
ServerName admin.local.app.io
CustomLog /var/log/apache2/app.admin.access.log "trueip_combined"
ErrorLog /var/log/apache2/app.admin.error.log
<Directory /var/www/html/app/htdocsAdmin>
AllowOverride Options FileInfo AuthConfig
Require all granted
</Directory>
</VirtualHost>
这是我的 Docker 文件:
FROM php:5.6.30-apache
MAINTAINER Tzook Bar Noy
ADD default /etc/apache2/sites-available/000-default.conf
RUN apt-get update \
&& apt-get install -y apt-utils \
&& apt-get install -y php5-dev php5-memcached \
&& apt-get install -y memcached
RUN apt-get update && apt-get install -y apt-utils
RUN apt-get install -y libz-dev libmemcached-dev
RUN pecl install memcached-2.2.0
RUN echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini
RUN a2enmod rewrite
RUN a2enmod ssl
EXPOSE 80
EXPOSE 443
不要在意memcached的东西,只看我开启了"ssl"并将80和443端口暴露出来
这是通过docker-compose运行的:
php:
build:
context: ./php
dockerfile: Dockerfile
ports:
- "80:80"
- "443:443"
volumes:
- ./../../:/var/www/html
networks:
- appnet
tty: true
但即使经历了所有这些,我仍然从Chrome中看到了这个:
"ERR_SSL_PROTOCOL_ERROR"
docker run
命令。 - Burhan Khaliddocker-compose up -d
后,您的 Apache 容器的日志文件和docker ps
命令的输出是什么? - Burhan Khalid