大家好,我刚刚开始使用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文件。