我正在尝试使用 docker 配置一个 php webapp。这个想法是php-fpm
在一个独立的容器中运行应用程序,并有另一个运行 nginx 的容器。此设置的想法是使用相同的 nginx 容器将请求代理到已经在同一台机器上工作的其他 web 应用程序。问题是我无法nginx
正确处理静态文件(js、css 等),因为对这些文件的请求一直转到fpm
.
这是文件系统的样子:
/
??? Makefile
??? config
? ??? webapp.config
??? webapp
??? web
??? index.php
??? static.js
Run Code Online (Sandbox Code Playgroud)
我正在使用Makefile
看起来像这样的(对此不感兴趣docker-compose
)运行整个事情:
PWD:=$(shell pwd)
CONFIG:='/config'
WEBAPP:='/webapp'
run: | run-network run-webapp run-nginx
run-network:
docker network create internal-net
run-webapp:
docker run --rm \
--name=webapp \
--net=internal-net \
--volume=$(PWD)$(WEBAPP):/var/www/webapp:ro \
-p 9000:9000 \
php:5.6.22-fpm-alpine
run-nginx:
docker run --rm \
--name=nginx \
--net=internal-net \
--volume=$(PWD)$(CONFIG)/webapp.conf:/etc/nginx/conf.d/webapp.domain.com.conf:ro \ …
Run Code Online (Sandbox Code Playgroud)