Lokalnie mam następującą konfigurację 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
kontener ma zainstalowany xdebug, mogę łatwo połączyć się z nim z PHPStorm.
Mam zdalną bazę danych ClickHouse, która jest podłączona przez tunel SSH. Po uruchomieniu kontenera po prostu wchodzę do kontenera i wykonuję:
ssh -4 [email protected] -p 2211 -L 8123:localhost:8123 -oStrictHostKeyChecking=no -Nf
Po tym moja strona może korzystać z tego połączenia, ale gdy wykonam polecenie konsoli
./yii analysis/start-charts 003b56fe-db47-11e8-bcc0-52540010e5bc 205
z PHPStorm, otrzymuję wyjątek:
Failed to connect to 127.0.0.1 port 8123: Connection refused
Jeśli wskoczę do kontenera i uruchomię to samo polecenie, wszystko działa prawidłowo.
Co jest nie tak? Dlaczego PHPStorm nie widzi mojego tunelu ssh?
UPD Zmieniłem hosta kontenera clickhouse na doker i zmieniłem php
definicja kontenera na następujące:
php:
build:
context: ./php
volumes:
- ./../:/home/web/my-website.com/
working_dir: /home/web/my-website.com/
expose:
- "8123"
ports:
- "8123:8123"
Teraz wszystko działa
źródło
ports
węzeł do definicjiphp
pojemnik. Dodaję tę edycję do pytania