当前位置: 首页 > news >正文

docker 配置文件使用经验,后续持续增加

1. 容器中如何访问主机服务

在docker容器、docker compose 中如何访问主机服务呢?

docker容器

20.10.0 版本在 linux 新增 host.docker.internal 支持: docker run -it --add-host=host.docker.internal:host-gateway alpine cat /etc/hosts

127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.1      host.docker.internal # --add-host的作用就是添加了这行到/etc/hosts
172.17.0.3      cb0565ceea26

add-host 的意思是告诉容器,容器对域名 host.docker.internal 的访问都将转发到 host-gateway 去。

即容器内部访问这个域名 host.docker.internal 时,就会访问到对应的主机上的 host-gateway 地址,从而达到容器访问主机上服务的效果。

docker compose

注意:8080是宿主机提供的服务

version: "2.3" # version改为3.3也可以
services:server:image: curlimages/curlcommand: curl http://host.docker.internal:8080extra_hosts:- "host.docker.internal:host-gateway"

2. docker-compose使用多个docker-compose.yaml配置文件创建容器

如何使用多个Docker compose文件,参见:multiple-compose-files

Docker Compose lets you merge and override a set of Compose files together to create a composite Compose file.

By default, Compose reads two files, a compose.yml and an optional compose.override.yml file. By convention, the compose.yml contains your base configuration. The override file can contain configuration overrides for existing services or entirely new services.

If a service is defined in both files, Compose merges the configurations using the rules described below and in the Compose Specification.

后面的docker compose配置如何与前面的docker compose配置合并,参见:compose-file/13-merge

指定多个docker compose配置文件示例

docker compose -f docker-compose.yaml -f docker-compose.gpu.yaml up -d --builddocker compose -f docker-compose.yaml -f docker-compose.api.yaml up -d --build

docker-compose.yaml

version: '3.8'services:ollama:volumes:- ollama:/root/.ollamacontainer_name: ollamapull_policy: alwaystty: truerestart: unless-stoppedimage: ollama/ollama:${OLLAMA_DOCKER_TAG-latest}open-webui:build:context: .args:OLLAMA_BASE_URL: '/ollama'dockerfile: Dockerfileimage: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}container_name: open-webuivolumes:- open-webui:/app/backend/datadepends_on:- ollamaports:- ${OPEN_WEBUI_PORT-3000}:8080environment:- 'OLLAMA_BASE_URL=http://ollama:11434'- 'WEBUI_SECRET_KEY='extra_hosts:- host.docker.internal:host-gatewayrestart: unless-stoppedvolumes:ollama: {}open-webui: {}

docker-compose.gpu.yaml

version: '3.8'services:ollama:# GPU supportdeploy:resources:reservations:devices:- driver: ${OLLAMA_GPU_DRIVER-nvidia}count: ${OLLAMA_GPU_COUNT-1}capabilities:- gpu

docker-compose.api.yaml

version: '3.8'services:ollama:# Expose Ollama API outside the container stackports:- ${OLLAMA_WEBAPI_PORT-11434}:11434
http://www.lryc.cn/news/351087.html

相关文章:

  • Qml:键盘事件
  • Java列表导出时将附件信息压缩成一个zip
  • 简单美观易上手的 Docker Compose 可视化管理器 Dockge
  • 贴片 RS8752XK 封装SOP-8 250MHz,2通道高速运放
  • 图论-最短路算法
  • 家政预约小程序05服务管理
  • Django自定义命令
  • 详解VLSM技术
  • 面向浏览器端免费开源的三维可视化编辑器,包含BIM轻量化,CAD解析预览等特色功能。
  • Nacos 进阶篇---Nacos服务端怎么维护不健康的微服务实例 ?(七)
  • 【oracle004】oracle内置函数手册总结(已更新)
  • 建模:Maya
  • 持续总结中!2024年面试必问 20 道 Redis面试题(四)
  • Java中关于List的一些常用操作
  • Docker仓库解析
  • 开发人员容易被骗的原因有很多,涉及技术、安全意识、社会工程学以及工作环境等方面。以下是一些常见原因:
  • 使用Python实现深度学习模型:自动编码器(Autoencoder)
  • 数据结构--树与二叉树--编程实现以孩子兄弟链表为存储结构递归求树的深度
  • Property xxx does not exist on type ‘Window typeof globalThis‘ 解决方法
  • BOM..
  • rust的版本问题,安装问题,下载问题
  • SDUT 链表9-------7-9 sdut-C语言实验-约瑟夫问题
  • Anthropic绘制出了大型语言模型的思维图:大型语言模型到底是如何工作
  • 网络工程师练习题
  • 思科模拟器--03.RIP协议路由--24.5.17
  • 当实时互动遇上新硬件:GIAC 全球互联网架构大会「新硬件」专题论坛
  • 赶紧收藏!2024 年最常见 20道 Redis面试题(三)
  • VMware 和 VirtualBox开机自启指定虚拟机详细教程
  • note-网络是怎样连接的2 协议栈和网卡
  • ros学习之路径规划