首页 > 解决方案 > 没有“公共”的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?

谢谢!

标签: dockerlaravel-5

解决方案


您是否考虑过选项

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 路径和其他参数被写了?


推荐阅读