我正在使用Docker开发在VSCode容器中运行和调试django项目。在我的devcontainer.json
中,我转发了端口8000
"forwardPorts": [8000],
这是我的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/myapp/manage.py",
"args": [
"runserver",
"0.0.0.0:8000"
],
"django": true
}
]
}
当我使用这样的配置开始调试时,我看到4个端口被转发:端口8000和其他3个rendom高端口
8000 -> localhost:8000 (the only one I'd expect to see)
34075 -> 127.0.0.1:34075
37301 -> 127.0.0.1:37301
42129 -> 127.0.0.1:42129
我想知道为什么这三个端口被转发,以及如何避免它。
发布于 2021-07-14 23:30:31
这是由ms-vscode-remote.remote-的远程自动端口映射行为容器引起的。查看此处:
发布端口
Docker有“发布”端口的概念,当诸如此类的话
要发布端口,您可以:
使用appPort属性:诸如此类
devcontainer.json中必须有"appPort“属性
"appPort": [ 3000, "8921:5000" ]
使用Docker Compose端口映射: Blah Blah
他们说"appPort“属性将像我们在docker-compose文件上所做的那样进行映射。如果你使用docker-compose文件运行它,那么下一段代码可能也是一个解决方案。如果您不打算使用docker-compose,那么在devcontainer.json中设置"appPort“属性就足以避免自动映射。
ports:
- "3000"
- "8921:5000"
然后F1打开对话框,rebuild devcontainer和happy hacking__!
https://stackoverflow.com/questions/65496520
复制相似问题