在本地,我有以下docker-compose配置:
nginx:
build:
context: ./nginx
ports:
- "80:80"
volumes:
- ./../logs:/home/web/logs/
- ./../:/home/web/my-website.com/
depends_on:
- php
php:
build:
context: ./php
volumes:
- ./../:/home/web/my-website.com/
working_dir: /home/web/my-website.com/
expose:
- "8123"
php
容器已安装Xdebug,可以从PhpStorm轻松连接到它。我有通过SSH隧道连接的远程ClickHouse数据库。当启动容器时,我只是进入容器并执行:
ssh -4 login@host.com -p 2211 -L 8123:localhost:8123 -oStrictHostKeyChecking=no -Nf
之后,我的站点可以使用此连接,但是当我执行控制台命令时
./yii analysis/start-charts 003b56fe-db47-11e8-bcc0-52540010e5bc 205
来自PhpStorm的一个异常(exception):
Failed to connect to 127.0.0.1 port 8123: Connection refused
如果我跳入容器并启动相同的命令,则一切正常。
怎么了?为什么PhpStorm没有看到我的SSH隧道?
最佳答案
我已经在“ super 用户”站点上找到了答案:https://superuser.com/questions/1374463/phpstorm-docker-xdebug-db-ssh-tunnel/1375961#1375961
此外,我在ports
容器定义中添加了php
节点,现在如下所示:
php:
build:
context: ./php
volumes:
- ./../:/home/web/my-website.com/
working_dir: /home/web/my-website.com/
expose:
- "8123"
ports:
- "8123:8123"
depends_on:
- redis
- mysql
关于php - PhpStorm + Docker + Xdebug + DB SSH隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53249075/