首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VSCode +远程开发+ django:避免转发端口

VSCode +远程开发+ django:避免转发端口
EN

Stack Overflow用户
提问于 2020-12-30 01:53:35
回答 1查看 421关注 0票数 3

我正在使用Docker开发在VSCode容器中运行和调试django项目。在我的devcontainer.json中,我转发了端口8000

代码语言:javascript
运行
复制
 "forwardPorts": [8000],

这是我的launch.json

代码语言:javascript
运行
复制
{

    "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高端口

代码语言:javascript
运行
复制
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

我想知道为什么这三个端口被转发,以及如何避免它。

EN

回答 1

Stack Overflow用户

发布于 2021-07-14 23:30:31

这是由ms-vscode-remote.remote-的远程自动端口映射行为容器引起的。查看此处:

发布端口

Docker有“发布”端口的概念,当诸如此类的话

要发布端口,您可以:

使用appPort属性:诸如此类

devcontainer.json中必须有"appPort“属性

代码语言:javascript
运行
复制
  "appPort": [ 3000, "8921:5000" ]

使用Docker Compose端口映射: Blah Blah

他们说"appPort“属性将像我们在docker-compose文件上所做的那样进行映射。如果你使用docker-compose文件运行它,那么下一段代码可能也是一个解决方案。如果您不打算使用docker-compose,那么在devcontainer.json中设置"appPort“属性就足以避免自动映射。

代码语言:javascript
运行
复制
  ports:
  - "3000"
  - "8921:5000"

然后F1打开对话框,rebuild devcontainer和happy hacking__!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65496520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档