PHPStorm + liman işçisi + xdebug + db ssh tüneli


0

Yerel olarak docker-compose yapılandırmasını izliyorum:

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"

phpkapsayıcısında xdebug yüklü, kolayca PHPStorm'dan bağlanabiliyorum. SSH Tüneli ile bağlı uzak ClickHouse veritabanına sahibim. Konteynere başladığımda konteynere giriyorum ve şu işlemi gerçekleştiriyorum:

ssh -4 login@host.com -p 2211 -L 8123:localhost:8123 -oStrictHostKeyChecking=no -Nf

Bundan sonra sitem bu bağlantıyı kullanabilir ancak konsol komutunu çalıştırdığımda

./yii analysis/start-charts 003b56fe-db47-11e8-bcc0-52540010e5bc 205

PHPStorm’dan bir istisna alıyorum:

Failed to connect to 127.0.0.1 port 8123: Connection refused

Konteynere atlayıp aynı komutu başlatırsam her şey yolunda gider.

Sorun nedir? Neden PHPStorm ssh tünelimi görmüyor?

UPD Clickhouse ana makinesini docker container'a değiştirdim ve phpcontainer tanımını aşağıdaki gibi değiştirdim:

php:
  build:
    context: ./php
  volumes:
    - ./../:/home/web/my-website.com/
  working_dir: /home/web/my-website.com/
  expose:
    - "8123"
  ports:
    - "8123:8123"

Şimdi her şey çalışıyor

Yanıtlar:


1

Ssh tüneliniz yuvadaki kabınızın içinde yaratılmıştır 127.0.0.1:8123. Bağlantı Noktası 8123'ü Ana Bilgisayar'a gösterirsiniz (belki 127.0.0.1:8123'ü göstermelisiniz). Ancak asıl sorun, 127.0.0.1:8123Ana makinenizden Erişmeye çalışmanızdır , oysa erişmelisiniz <ContainerIP>:8123.

Network_mode'u , derlemenetwork_mode: "host" dosyanızdaki çözümü kullanmak için kullanmayı deneyebilirsiniz .


1
Cevabınız için teşekkür ederim bana yardımcı oldu. Ama şunu da eklemeliyim ki ports, phpkabın tanımına düğüm eklemek zorunda kaldım . Bu düzenlemeyi soruya
ekliyorum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.