如何在Docker容器中安装 apache php7.3配置环境?

前面我们写了 公司OA项目服务器配置注意点 ,迫于公司的系统只有现成apache的rewirte规则,而且我对apache并不熟而且使用得很少,所以这里我们记录一下如何在Docker容器中配置apache+php7.3的环境,废话不多说直接看配置。

在powershell终端中部署容器

docker run -d -p 8081:80 --name japache --link jmysql -v D:\wwwroot:/data/wwwroot -v D:\DockerConfig\apache2\sites-enabled\:/etc/apache2/sites-enabled/ --restart=always php:7.3-apache

网站文件跟目录在 D:\wwwroot

请注意容器与主机之间映射文件的对应关系

进入Docker容器

docker exec -it japache /bin/bash

在容器中安装php扩展mysqli,启用rewrite功能

docker-php-ext-install mysqli
a2enmod rewrite

配置apache文件

D:\DockerConfig\apache2\sites-enabled\ 目录下配置一个名为 poweridc.conf 的文件,内容如下:

<VirtualHost *:80>
	ServerName poweridc
	ServerAdmin webmaster@localhost
	DocumentRoot /data/wwwroot/POWER_IDC
	<Directory /data/wwwroot/POWER_IDC>
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
	</Directory>
	RewriteEngine on
	RewriteCond %{REQUEST_METHOD} ^TRACE
	RewriteRule .* - [F]
	RewriteRule !(^/static|\.(gif|swf|exe|png|jpg|js|css)$) /index.php [L]
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

修改hosts(可选)

Linux Windows MacOS 等系统中hosts的原理及作用

浏览器访问

WeChat