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

我下载了官方的phpmyadmin docker镜像( https://store.docker.com/community/images/phpmyadmin/phpmyadmin )。 一切都好。

对我来说只是一个问题:访问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

你可以尝试改变location / {带有alias指令 :

 location /phpmyadmin/ { alias /www; ... 

这将服务于相同的根文件,但只为url http://localhost/phpmyadmin

关于docker,这意味着你需要dockerbuild立你自己的映像,Dockerfile从FROM phpmyadmin/phpmyadmin:4.6 ,然后COPY修改版本的nginx.conf ,有点像这样的3bdigital/docker-phpmyadmin回购。


OP法拉第select了更简单的方法:

使用ubuntu作为基础映像并安装phpmyadmin,自己构buildDocker镜像。
它在安装后在http://localhost/phpmyadmin下工作。