Nginx 如何将官方phpmyadmin docker映像的访问url更改为http://localhost/phpmyadmin?

Nginx 如何将官方phpmyadmin docker映像的访问url更改为http://localhost/phpmyadmin?,nginx,docker,phpmyadmin,Nginx,Docker,Phpmyadmin,我下载了官方的phpmyadmin docker图片()。一切都好 对我来说只有一个问题:访问url是http://localhost我希望它成为http://localhost/phpmyadmin 我做了一些研究,发现密钥在supervisord调用的/etc/nginx.conf中。下面是/etc/nginx.conf中的代码片段: server { listen 80 default_server; server_name _; root /www;

我下载了官方的phpmyadmin docker图片()。一切都好

对我来说只有一个问题:访问url是
http://localhost
我希望它成为
http://localhost/phpmyadmin

我做了一些研究,发现密钥在supervisord调用的
/etc/nginx.conf
中。下面是
/etc/nginx.conf
中的代码片段:

server {
    listen 80 default_server;
    server_name _;

    root /www;

    index index.php index.html index.htm;

    charset utf-8;

    if ($request_method !~ ^(GET|HEAD|POST)$ ) {
       return 405;
    }

    location / {
        try_files $uri $uri/ =404;
    }

    location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 365d;
    }

    location ~ \.php$ {
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/var/run/php/php-fpm.sock;

        # regex to split $uri to $fastcgi_script_name and $fastcgi_path
        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        # Check that the PHP script exists before passing it
        try_files $fastcgi_script_name =404;

        # Bypass the fact that try_files resets $fastcgi_path_info
        # see: https://trac.nginx.org/nginx/ticket/321
        set $path_info $fastcgi_path_info;
        fastcgi_param PATH_INFO $path_info;

        fastcgi_read_timeout 600;
        fastcgi_buffering off;

        fastcgi_index index.php;

        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;

        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;
        fastcgi_param  REQUEST_SCHEME     $scheme;
        fastcgi_param  HTTPS              $https if_not_empty;

        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx;

        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;

        # PHP only, required if PHP was built with --enable-force-cgi-redirect
        fastcgi_param  REDIRECT_STATUS    200;
    }

    location ~ /\. {
        deny  all;
    }

    location ~ /(libraries|templates) {
        deny all;
    }

}

有人知道如何修改这个
nginx.conf
以使访问url变成
http://localhost/phpmyadmin

您可以尝试使用以下命令更改
位置/{

这将服务于相同的根文件,但仅适用于url
http://localhost/phpmyadmin

关于docker,这意味着您需要docker构建您自己的映像,docker文件从phpmyadmin/phpmyadmin:4.6开始,复制修改后的
nginx.conf
,有点像这个repo


专家组选择了更简单的方法:

以ubuntu为基本映像,安装phpmyadmin,自己构建(正在)一个docker映像。
它在
http://localhost/phpmyadmin
安装后


不起作用。访问url仍然是L。我也做了一些其他尝试,将位置修改为其他格式,但运气不好。我对nginx非常陌生……@faraday我忘记添加别名。请参见仍然不起作用。使用别名,当我访问localhost/phpmyadmin时,我得到了“403禁止”@faraday Strange:显示它应该可以工作,但也许你只是有一个chmod/chown访问权限问题()在与这个问题斗争之后,我决定放弃。我用ubuntu作为基本映像,安装了phpmyadmin,自己构建了一个docker映像。它在ttp://localhost/phpmyadmin 安装后。仍然非常感谢您的帮助。
location /phpmyadmin/ {
  alias /www;
  ...