Docker compose允许服务通过主机名访问主机上的数据库

时间:2019-07-17 10:02:56

标签: docker docker-swarm

大家好,我刚刚开始使用docker,并且非常欣赏整个容器的概念,但是我似乎无法弄清的一件事是,当我使用docker compose定义我的服务时,我还必须提供一个网络,并且所有容器都连接到该容器网络,因此可以相互访问,但是如果我的一项服务需要连接到托管在localhost上的数据库服务该怎么办?我的服务将如何访问我在组合文件中搜索过网络模式host和net:host选项的数据库但它们似乎不起作用,我的docker版本信息如下。

Client: Docker Engine - Community
Version:           18.09.2
API version:       1.39
Built:             Sun Feb 10 04:12:31 2019
OS/Arch:           windows/amd64
Experimental:      false

Server: Docker Engine - Community
Engine:
 Version:          18.09.2
 API version:      1.39 (minimum version 1.12)
 Built:            Sun Feb 10 04:13:06 2019
 OS/Arch:          linux/amd64
 Experimental:     false

我的docker-compose.yml文件

version: "3"
services:
 web:
   # replace username/repo:tag with your name and image details
   image: dbaccessserviceimage
   network_mode: "host"
   deploy:
     replicas: 5
     resources:
       limits:
         cpus: "0.1"
         memory: 50M
     restart_policy:
       condition: on-failure
   ports:
     - "4000:80"

在设计将所有产品移至容器中的体系结构时,确实需要帮助。高度赞赏具有适当版本和网络选项的docker compose文件。

0 个答案:

没有答案