docker - 没有“公共”的docker下的laravel应用程序的url如何?
问题描述
在 docker 下安装 laravel 5.7 应用程序(基于 php:7.2-apache )我需要在我的 url 中使用“/public”来运行我的应用程序,所以我的应用程序的根 url 是
http://127.0.0.1:8081/public
我将我的 laravel 应用程序的 .env 修改为
APP_URL=http://127.0.0.1:8081/public/
但这并没有帮助,因为我浏览器得到了图片网址:
http://127.0.0.1:8081/storage/mysites/-mysite-16/Babe_ver1.jpg?dt=1546059015
哪种方式无效,因为有效方式必须是:
http://127.0.0.1:8081/public/storage/mysites/-mysite-16/Babe_ver1.jpg?dt=1546059015
与ajax请求类似的方式,因为我得到了无效的方式:
http://127.0.0.1:8081/admin/get_activity_log_rows/1
但有效必须是
http://127.0.0.1:8081/public/admin/get_activity_log_rows/1
在我的 docker-compose.yml 中:
version: '3.1'
services:
web:
build:
context: ./web
dockerfile: Dockerfile.yml
environment:
- APACHE_RUN_USER=www-data
volumes:
- ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
ports:
- 8081:80
working_dir: ${APP_PTH_CONTAINER}
composer:
image: composer:1.8
volumes:
- ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
working_dir: ${APP_PTH_CONTAINER}
command: composer install
在 .env 的 docker 项目中:
# PATHS
DB_PATH_HOST=./databases
APP_PATH_HOST=./Mysites
APP_PTH_CONTAINER=/var/www/html/
如何使用“/public”设置我的站点的根 URL?
谢谢!
解决方案
您是否考虑过选项
ENTRYPOINT [“php”,“artisan”,“serve”,"–host=0.0.0.0","–port=your_app_port"]
在你的 Dockerfile.yml 结尾?
或者:你有没有看这个https://github.com/petecoop/docker-laravel,定义了 000-default.conf ,/public 路径和其他参数被写了?
推荐阅读
- c++ - sort() 的自定义比较函数可以在没有参数的情况下工作(c++)
- microcontroller - 新的 attiny85 保险丝位都默认设置
- css - 如何设置图标的背景颜色以及将鼠标悬停在 li 背景颜色上时也使用 css 获得与图标背景颜色相同的颜色
- javascript - 我在 React.js ToDo 应用程序中的编辑功能有什么问题?
- java - Java Servlet (Tomcat 9) 中的 WebSocket 没有类路径扫描
- python - 在没有任何 python 子包的情况下创建的 pip 轮
- c# - 从调试到发布的 MVC 应用程序存储的输入(双数据类型)的表存储不同
- java - 使用 apache poi 转换时如何更改边距
- python - Python:Selenium chromedriver 不适用于按钮单击
- azure - 为启用身份验证的 Azure Web 应用服务中部署的 Web api 启用 CORS