【问题标题】:Docker compose no connection between containers using socketDocker使用套接字组成容器之间没有连接
【发布时间】:2021-06-20 10:07:26
【问题描述】:

我正在尝试使用https://github.com/markshust/docker-magento。按照说明,设置在前端包含一个 nginx 容器,假设它与后端的 php-fpm 连接。

容器:

ubuntu@DESKTOP-HED9HVG:/mnt/c/Users/Me$ docker ps -a
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
8db110d5737a        markoshust/magento-nginx:1.18-4            "/docker-entrypoint.…"   2 hours ago         Up 2 hours          80/tcp, 0.0.0.0:80->8000/tcp, 0.0.0.0:443->8443/tcp                                          localdev_app_1
74ff9e11646a        markoshust/magento-php:7.4-fpm-5           "docker-php-entrypoi…"   2 hours ago         Up 2 hours          9000-9001/tcp                                                                                localdev_phpfpm_1       

据我所知,phpfpm 正在监听 docker 套接字。

Nginx upstream:

upstream fastcgi_backend {
  server unix:/sock/docker.sock;
}

php-fpm.conf:

:
listen = /sock/docker.sock
:

这是docker-compose.yaml 文件

但我无法让它工作。

php-fpm 正在工作:

app@74ff9e11646a:~/html$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
app          1  0.0  0.2 222828 33168 ?        Ss   06:57   0:00 php-fpm: master process (/usr/local/etc/php-fpm.conf)
app          6  0.0  0.0 222828 10412 ?        S    06:57   0:00 php-fpm: pool www
app          7  0.0  0.0 222828 10348 ?        S    06:57   0:00 php-fpm: pool www
app          8  0.0  0.0 222828 10348 ?        S    06:57   0:00 php-fpm: pool www
app          9  0.0  0.0 222828 10348 ?        S    06:57   0:00 php-fpm: pool www

但是,从nginx到phpfpm,有ping,但是没有telnet:

/var/www/html # ping phpfpm
PING phpfpm (172.19.0.7): 56 data bytes
64 bytes from 172.19.0.7: seq=0 ttl=64 time=0.128 m

/var/www/html # telnet phpfpm 9000
telnet: can't connect to remote host (172.19.0.7): Connection refused
/var/www/html # telnet phpfpm 9001
telnet: can't connect to remote host (172.19.0.7): Connection refused

我是windows10 wsl2。知道我应该检查什么吗?

【问题讨论】:

    标签: docker nginx magento docker-compose fpm


    【解决方案1】:

    您告诉 PHP-FPM 使用套接字进行通信,这就是它不监听 TCP / 端口 9000 的原因。

    它可以或者侦听 TCP 端口,使用套接字,而不是两者。

    【讨论】:

    • 好的,我明白了。但即使网址中没有9000,它也不起作用。
    猜你喜欢
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2022-07-18
    • 2021-03-10
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多