gpt4 book ai didi

docker - Pycharm Docker 端口绑定(bind)

转载 作者:IT老高 更新时间:2023-10-28 21:23:29 28 4
gpt4 key购买 nike

我在 Docker 容器中运行 flask 应用程序,因此我需要绑定(bind)主机和容器端口(在本例中为端口 5000)。

运行这个命令:

docker run -v //c/Users/Nicholas/PycharmProjects/flask_tutorial:/opt/project -e "FLASK_APP=/opt/project/flaskr.py" -p 0.0.0.0:5000:5000 flask flask run --host=0.0.0.0

启动容器,我可以在浏览器本地访问位于 127.0.0.1:5000 的应用程序。然而,在 Pycharm (2016.2.3) 运行配置 GUI 中输入这些相同的设置并启动容器后,我无法访问该应用程序(我尝试勾选“发布所有端口”选项无济于事):

pycharm docker run configuration

使用 docker inspect container_id 和命令行创建容器,我在 NetworkSettings 下获得这些设置:

"Ports": {
"5000/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "5000"
}
]
},

但是,使用 Pycharm 运行配置创建的容器,它似乎没有传递端口绑定(bind):

"Ports": {},

有没有办法检查 Pycharm 传递给 Docker 的选项?还是让它正确传递端口绑定(bind)选项?

我在 Windows 10 上,Docker 在 Hyper-V(不是 VirtualBox)上运行

最佳答案

我在 Django 应用程序中遇到了类似的问题。这是我解决它的方法:

首先您需要在 docker 容器中设置项目解释器:

  1. 转到设置 (CTRL+ALT+s),
  2. 然后搜索项目解释器
  3. 然后点击右上角的小轮子,
  4. 然后点击添加
  5. 然后在菜单中选择Docker,
  6. 然后在选择列表中选择您之前构建的图像
  7. 然后点击ok按钮。

现在您需要创建正确的运行配置。

  1. 点击ALT+u
  2. 然后 ALT+r
  3. 然后ALT+inser,
  4. 选择 Flask 服务器
  5. 你会看到一个带有标签Docker容器设置的文本区域,点击这个文本区域
  6. 然后按 SHIFT+enter

您将有一个菜单,允许您配置多个 docker run 参数,包括端口投标。

关于docker - Pycharm Docker 端口绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40207825/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com