这个问题是关于让 Xdebug 使用托管在 Web 服务器 Docker 实例中的 CLI PHP 脚本。
我有docker 容器:web-server、、varnish-cache。nginx-proxy我能够使用以下 VS Code 启动配置通过浏览器成功调试 Magento 2 网页:
这是新的 XDebug v3,它删除了很多 v2 配置设置
客户端(Windows 10)IP(我的笔记本电脑):192.168.1.150,主机(Ubuntu 20.04)IP:192.168.1.105,使用 Docker 容器托管 IP:172.100.0.2-5
VS 代码启动:
"name": "(Magento 2) Listen for XDebug on 192.168.1.5/105",
"type": "php",
"request": "launch",
"port": 9099,
"stopOnEntry": false, // Set to true to test any script on entry
"log": false,
// Remember to update remote_connect_back or remote_host
// inside xdebug PHP …Run Code Online (Sandbox Code Playgroud) Docker 官方文档通常不是很有用,很多时候即使读完其中的章节,事情仍然不清楚。
有很多事情不清楚,但这个问题我只想针对这些:
运行时docker volume create:
--driver --opt 设备 --opt 类型
当我跑步时,docker volume create --driver local --opt device=:/var/www/html/app --opt type=volume volumename我实际上得到了一个卷:
$docker volume inspect customvolume`
[
{
"CreatedAt": "2020-08-03T09:28:10Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/customvolume/_data",
"Name": "customvolume",
"Options": {
"device": ":/var/www/html/customfolder",
"type": "volume"
},
"Scope": "local"
}
Run Code Online (Sandbox Code Playgroud)
]
尝试安装这个新卷:
docker run --name test-with-volume \
--mount source=customvolume,target=/var/www/html/app77' \
my-app-only:latest
Run Code Online (Sandbox Code Playgroud)
错误:
Error response from daemon: error while mounting
volume '/var/lib/docker/volumes/customvolume/_data': failed to
mount local volume: mount :/var/www/html/customfolder:/var/lib/docker/volumes/customvolume/_data: …Run Code Online (Sandbox Code Playgroud)