导航

docker安装phpmyadmin

Posted on 2021-12-20 22:43  displaynick  阅读(512)  评论(0编辑  收藏  举报

,使用Docker安装phpmyadmin,先下载镜像

docker pull phpmyadmin/phpmyadmin

启动镜像

docker run -d --name myadmin -e PMA_HOST=172.17.0.1 -e PMA_PORT=3306 -p 10013:80 phpmyadmin/phpmyadmin

注意: 172.17.0.1是mysql服务器的地址,Ubuntu系统通过ip addr查看。10013是要映射到宿主主机上的端口。

启动完成后发现局域网访问不了。通过netstat -lntp查看服务器端口监听情况发现10013这个端口只有IPv6在监听。IPv4没有监听导致客户端无法访问。百度一圈没解决,最后突发奇想,通过Nginx反向代理,在服务器上将IPv6的访问代理为IPv4供没有IPv环境的局域网使用。在/etc/nginx/nginx.conf中加入以下部分即可:

server{
    listen 10014;
    server_name 127.0.0.1;
#防止代理超时 large_client_header_buffers
4 16k; client_max_body_size 30m; client_body_buffer_size 128k; proxy_connect_timeout 300; proxy_read_timeout 300; proxy_send_timeout 300; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;   #防止代理超时 截止 access_log /var/log/nginx/phpmyadmin.access.log; error_log /var/log/nginx/phpmyadmin.error.log; location / { proxy_pass http://localhost:10013; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

./nginx -s reload

之后,局域网可以可访问了,但速度很慢,每步操作都要1分钟左右。查了一些资料,按以下方法:

# 在/etc/mysql/my.cnf中禁止mysql做域名解析

    [mysqld]
    skip-name-resolve