diff --git a/README.md b/README.md index 4d35942..29adf62 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,33 @@ +使用方法 +- +- docker运行命令 +```bash +docker run -d --name php-file-server -p 8000:80 -v /your/path:/var/www/html/public -e NACOS_ADDR=192.168.1.105:8848 -e SERVICE_PORT=8000 -e ORIGIN_URL=file.zeroerr.cn anxan-docker.pkg.coding.net/d/repo/micro-php-nacos:0.0.6 +``` +- docker-compose.yml +```bash +networks: + micro-php-nacos: + driver: bridge + +services: + micro-php-nacos: + image: anxan-docker.pkg.coding.net/d/repo/micro-php-nacos:0.0.6 + container_name: micro-php-nacos + restart: unless-stopped + networks: + - micro-php-nacos + ports: + - 8000:80 + volumes: + - /your/path:/var/www/html/public/uploads + environment: + - NACOS_ADDR=192.168.1.105:8848 + - SERVICE_PORT=8000 + - ORIGIN_URL=file.zeroerr.cn + - APP_DEBUG=false +``` + 可供配置的环境变量 - |变量名|描述|默认值|必填| @@ -22,4 +52,5 @@ 注意事项 - -将外部文件夹映射到容器内的 `/var/www/html/public` 文件夹时,需要给对应的外部文件夹添加权限,否则上传的文件会无法保存。 +1. 将外部文件夹映射到容器内的 `/var/www/html/public` 文件夹时,需要给对应的外部文件夹添加权限,否则上传的文件会无法保存。 +2. `-p` 向外映射的端口,需要和环境变量的 `SERVICE_PORT` 一致。 diff --git a/app/controller/Index.php b/app/controller/Index.php index 067c844..72aafb7 100644 --- a/app/controller/Index.php +++ b/app/controller/Index.php @@ -27,6 +27,11 @@ class Index // thinkphp里面无法获取SERVER_ADDR变量,会被nacos拦截替换 // 服务暴露的端口 $servicePort = $env->get('SERVICE_PORT', 8000); + if ($servicePort == 80) { + $servicePort = ''; + } else { + $servicePort = ':' . $servicePort; + } // 服务可以访问到的IP $serverIP = $env->get('SERVER_ADDR'); // 允许跨域的域名 @@ -41,7 +46,7 @@ class Index 'msg' => null, 'data' => [ "name" => $trueName, - "url" => '//' . $originUrl . '/' . $savename, + "url" => '//' . $originUrl . $servicePort . '/' . $savename, // "url" => 'http://192.168.1.105:8080/file/' . $savename, ], // 'env' => $env->get(),