第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何為 Xdebug 反轉(zhuǎn) SSH 隧道到遠(yuǎn)程 docker 容器?

如何為 Xdebug 反轉(zhuǎn) SSH 隧道到遠(yuǎn)程 docker 容器?

PHP
UYOU 2023-07-01 12:59:35
到目前為止,我還沒有成功地讓它發(fā)揮作用。設(shè)置本地計(jì)算機(jī) - Windows 10,安裝了 Cygwin、git bash 和 WSL2,安裝了 Ubuntu;和 MacBook Air (Mojave)主機(jī) - 運(yùn)行 Amazon Linux 2Docker 容器的 AWS EC2 實(shí)例 - CentOS 7.8 運(yùn)行帶有 Xdebug 的 PHP目標(biāo)利用從本地計(jì)算機(jī)到容器的反向隧道,從本地計(jì)算機(jī)遠(yuǎn)程調(diào)試容器中的 PHP 代碼。當(dāng) PHP 代碼本地安裝在主機(jī)上時(shí),我已經(jīng)得到了這個(gè)工作,所以問題不在于 Xdebug。一旦我將 PHP 代碼移至容器中,調(diào)試就不再起作用。我嘗試過設(shè)置從本地計(jì)算機(jī)到主機(jī) EC2 實(shí)例的反向隧道是有效的。為此,我ssh -vvv -i "aws.pem" -R 9000:localhost:9000 user@ec2instance在終端、cygwin 或 git bash 中進(jìn)行操作,并nc -z localhost 9000 || echo 'no tunnel open'在主機(jī)上進(jìn)行測(cè)試。當(dāng)我docker exec -it container bash進(jìn)入容器并運(yùn)行 nc 時(shí),隧道不可用。我正在使用 docker-compose:version: '2'services:? web:? ? image: 'privateregistry/project/container:latest'? ? restart: always? ? container_name: web? ? ports:? ? ? - '8082:80'? ? ? - '447:443'? ? ? - '9000:9000'? ? volumes:? ? ? - '.:/var/www/project'我嘗試過映射 9000 端口和不映射 9000 端口。我嘗試過 ssh 隧道的變體:ssh -vvv -i "aws.pem" -R :9000:localhost:9000 user@ec2instancessh -vvv -i "aws.pem" -R 0.0.0.0:9000:localhost:9000 user@ec2instancessh -vvv -i "aws.pem" -R \*:9000:localhost:9000 user@ec2instancessh -vvv -i "aws.pem" -R 9000:172.20.0.2:9000 user@ec2instance(容器IP)我也嘗試過使用ssh -L但沒有運(yùn)氣。有幾篇文章(例如這篇文章)GatewayPorts yes建議在主機(jī)上添加。我也嘗試過這個(gè),沒有任何改變。我沒有嘗試使用--network=host,主要是出于安全考慮。我也不想使用 ngrok,因?yàn)槲蚁M軌蚴褂?localhost 或host.docker.internal進(jìn)行xdebug.remote_host設(shè)置。為了完整起見,以下是我對(duì) Xdebug 的了解:[XDebug]xdebug.remote_enable=1xdebug.remote_autostart=1xdebug.remote_handler="dbgp"xdebug.remote_port=9000xdebug.remote_host="host.docker.internal";xdebug.remote_connect_back=1xdebug.idekey = VSCODExdebug.remote_log = "/var/log/xdebug.log"
查看完整描述

1 回答

?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

我得到了這個(gè)工作。在閱讀了 ssh 手冊(cè)頁并再次查看之后,我意識(shí)到我綁定到了 docker 容器 IP,而不是橋接器 (docker0) IP。

我將連接命令更新為ssh -vvv -i "aws.pem" -R 9000:172.17.0.1:9000 user@ec2instance正確的 IP,隧道開始工作。我仍然啟用了 GatewayPorts(根據(jù)手冊(cè)頁)并刪除了 9000:9000 映射。

然后我將 xdebug.remote_host 值更新為相同的 IP,并且調(diào)試現(xiàn)在可以正常工作。不知道為什么 host.docker.internal 不起作用,但那是另一天的事了。


查看完整回答
反對(duì) 回復(fù) 2023-07-01
  • 1 回答
  • 0 關(guān)注
  • 163 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)