首页 > 其他分享 >提问:如何实现,我在docker container中,curl localhost:11434时,实际访问的是宿主机的11434端口?

提问:如何实现,我在docker container中,curl localhost:11434时,实际访问的是宿主机的11434端口?

时间:2024-11-14 23:14:34浏览次数:3  
标签:docker container 宿主机 11434 curl Docker localhost

背景

我们需要在dify中配置ollama。
ollama服务起来之后,会把服务挂在localhost的11434上。
但是,我的dify一般是在docker里起的。
所以我在docker container里,访问localhost:11434时,实际无法访问到宿主机的11434,也就没办法调用宿主机上的ollama。

怎么解决?

方法一:

找到宿主机的IP地址:
在Linux上,你可以使用命令 ip addr show 查找你的网络接口的IP地址。
在Windows或Mac上,你可以使用命令 ifconfig 或者 ipconfig 查看网络配置信息。
修改容器中的命令:
替换curl localhost:11434为curl <宿主机IP>:11434。这样容器就会尝试连接到宿主机上的11434端口。
缺点:
ollama默认启动,不允许非localhost对它进行访问。
这个方法需要进一步地配置。

方法二:使用Docker的特殊DNS名称(仅限Docker for Mac/Docker for Windows)

如果你使用的是Docker for Mac或Docker for Windows,Docker提供了一个特殊的DNS名称 host.docker.internal,它解析为宿主机的内部IP地址。

修改容器中的命令: 替换curl localhost:11434为curl host.docker.internal:11434。

这个方法不错,在我这儿是有效的。

标签:docker,container,宿主机,11434,curl,Docker,localhost
From: https://blog.csdn.net/xiezhipu/article/details/143783185

相关文章

  • 【模块一】kubernetes容器编排进阶实战之containerd安装及nerdctl客户端⼯具
    安装containerdapt/yum安装#验证仓库版本[root@k8s-node3~]#apt-cachemadisoncontainerdcontainerd|1.7.12-0ubuntu2~22.04.1|https://mirrors.aliyun.com/ubuntujammy-updates/mainamd64Packagescontainerd|1.6.12-0ubuntu1~22.04.3|https://mirrors.aliyu......
  • 配置docker和containerd,使用ca证书访问harbor
    配置docker和containerd,使用ca证书访问harbor目录配置docker和containerd,使用ca证书访问harbordocker配置ca证书访问harborcontainerd配置ca证书访问harbor验证证书有效性docker配置方法containerd配置方法验证证书有效性描述harbor链接汇总harbor部署harbor部署httpsdo......
  • Invalid classpath container: 'JUnit 4' in project
    安装eclipse2024-06后,打开plug-in工程报错:Invalidclasspathcontainer:'JUnit4'inproject解决方案一:在网上搜索一番,找到一篇大佬的解决方案https://aigcdaily.cn/news/b24u9zo1809ojin/在文章中大佬给出了明确的解决方案:替换org.eclipse.jdt.junit.core_3.13.200.v202405......
  • 学习笔记(十二):ArkUi-相对布局 (RelativeContainer)
    基本概念锚点:通过锚点设置当前元素基于哪个元素确定位置。对齐方式:通过对齐方式,设置当前元素是基于锚点的上中下对齐,还是基于锚点的左中右对齐。锚点设置锚点设置是指设置子元素相对于父元素或兄弟元素的位置依赖关系。在水平方向上,可以设置left、middle、right的锚点......
  • Containers和Serverless本质区别是什么
    Containers和Serverless的本质区别主要在以下几个方面:一、资源管理方式;二、执行环境;三、部署和运维方式;四、冷启动和实时性;五、适用场景;六、资源消耗;七、成本;八、扩展性。资源管理方式是指,Containers通过资源限制和隔离技术,实现对资源的有效管理,Serverless资源由云服务提供商自动......
  • containerd存储fs
    安装nerdctlwgethttps://github.com/containerd/nerdctl/releases/download/v2.0.0-rc.3/nerdctl-full-2.0.0-rc.3-linux-amd64.tar.gztarCxzvvf/usr/localnerdctl-full-2.0.0-rc.3-linux-amd64.tar.gzcontainerd镜像containerd镜像保存在/var/lib/containerd/io.containe......
  • 2024-10-26:最长公共后缀查询。用go语言,给定两个字符串数组 wordsContainer 和 wordsQu
    2024-10-26:最长公共后缀查询。用go语言,给定两个字符串数组wordsContainer和wordsQuery,要对每个wordsQuery[i]找到一个与其有最长公共后缀的字符串。如果有多个字符串与wordsQuery[i]有相同的最长公共后缀,则返回在wordsContainer中最早出现的那个。最后,返回一个整数数组a......
  • 配置WSL2实现与宿主机的网络互通
    前言 WSL1是基于代理的虚拟化技术,它通过将Linux系统调用转换为Windows系统调用来实现与Windows内核的交互。WSL2则使用了真正的虚拟机技术,它在Windows主机上运行一个轻量级的Linux内核。WSL2无法访问Windows的localhost网络是由WSL2的网络架构所致。WSL2......
  • containerd 配置镜像加速
    介绍kubernetes从v1.24开始默认使用containerd,需要修改containerd的配置文件,才能让pod的镜像加速。containerd加速配置文件路径/etc/containerd/config.toml,每次修改配置文件,都需要执行systemctlrestartcontainerd.service或servicecontainerdrestart命令重启contain......
  • k8s 使用 containerd 作为容器运行时拉取 http 的 harbor 私有仓库镜像
    目录版本介绍报错内容解决方法主配置文件修改创建镜像仓库配置备注版本介绍k8s:v1.28.2containerd:1.6.33报错内容我的harbor用的是http的,因为是内网自己用,就没有配置https了,于是配置好镜像拉取的凭据,pod拉取镜像会有以下的报错Failedtopullimage"harbor.de......