我正在尝试将我的遗留单体迁移到 k8s,现在我有 nginx 和 php-fpm(带代码)图像,我希望 nginx 只提供 http 流量并将其传递给 fpm,但 nginx 坚持拥有文件,我不没有 try_files指令,但它无论如何都会尝试查找根文件和索引文件。
那么是否有可能不将源代码挂载到 nginx,我真的不明白为什么它应该在那里,但我找不到任何工作示例
nginx.conf:
server {
listen 80;
index index.php;
# This dir exist only in php-fpm container
root /var/www/html/public;
location ~* \.php$ {
client_max_body_size 0;
include fastcgi_params;
fastcgi_pass php-fpm:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
}
Run Code Online (Sandbox Code Playgroud)
2018/08/17 16:44:40 [error] 9#9: *46 "/var/www/html/public/index.php" is not found (2: No such file or directory), client: 192. xxx.xxx.xxx, server: , request: "GET / HTTP/1.1", host: "localhost"
192.xxx.xxx.xxx …
我还没有找到如何将GitLab的RedCarpet更改为Kramdown的说明.在Kramdown上我找到了如何安装它:
sudo apt-get install ruby
sudo gem install kramdown
Run Code Online (Sandbox Code Playgroud)
但是对于我来说,使用页面绝对是不可理解的
require 'kramdown'
puts Kramdown::Document.new(text).to_html
Run Code Online (Sandbox Code Playgroud)
什么是语言?我要写的地方?
我正试图通过PhpStorm运行控制台运行的Doctrine 2的控制台脚本.Docker设置为Deploy服务器.
如果我运行这个:
$ docker exec container_name /var/www/vendor/bin/doctrine-module orm:schema-tool:create
它打印:
没有要处理的元数据类.
但是当我在PhpStorm中运行PHP运行/调试配置时:文件:/ home/username/PhpstormProjects/proj/vendor/bin/doctrine-module
它打印:
docker:// image_name/container_name/var/www/vendor/bin/doctrine-module
致命错误:未捕获PDOException:PDO :: __ construct():php_network_getaddresses:getaddrinfo failed:765行/var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php中未知的名称或服务
Zend\ServiceManager\Exception\ServiceNotCreatedException:无法创建名为"doctrine.connection.orm_default"的服务.原因:驱动程序中发生异常:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo failed:第765行的/var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php中未知名称或服务
调用堆栈:0.0001 349368 1. {main}()/ var/www/vendor/doctrine/doctrine-module/bin/doctrine-module:0 0.0268 360480 2. include('/ var/www/vendor/doctrine/doctrine- module/bin/doctrine-module.php')/ var/www/vendor/doctrine/doctrine-module/bin/doctrine-module:4 0.9376 4076096 3. Zend\ServiceManager\ServiceManager-> get()/ var/www/vendor/doctrine/doctrine-module/bin/doctrine-module.php:61 0.9376 4076096 4. Zend\ServiceManager\ServiceManager-> doCreate()/var/www/vendor/zendframework/zend-servicemanager/src/ServiceManager.php: 200
处理以退出代码255结束
我检查了PDO创建它时收到的绝对相同的参数
new PDO("mysql:host=db;port=3306;dbname=dbname", "user", "pass", [])
泊坞窗,compose.yml:
version: '2'
services:
nginx:
container_name: nginx
build:
context: .
dockerfile: DockerfileNginx
ports:
- "80:80"
depends_on:
- php
working_dir: /var/www
links:
- php …Run Code Online (Sandbox Code Playgroud)