我正在制作一个新项目,其中包含一个NodeJS服务和一个带有Docker-Compose的MySQL服务器。万一新的MySQL服务器上不存在NodeJS服务,就需要从旧的MSSQL服务器中查找数据。 MSSQL服务器位于192.168.0.x。我可以知道如何使Docker内部网络以及“主机”网络正常工作吗?
version: '3.7'
services:
mysql:
image: mysql:5.7
restart: always
ports:
- "3306:3306"
volumes:
- type: volume
source: pos-db
target: /var/lib/mysql
command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
server:
build:
dockerfile: dockerfile.dev
context: ./
depends_on:
- mysql
command: ['./docker/wait-for-it.sh', 'mysql:3306', '--', 'yarn', 'watch']
ports:
- "3000:3000"
volumes:
pos-db:
谢谢。
您应该在extra_hosts
服务中添加server
部分。在以下位置查看官方文档:https://docs.docker.com/compose/compose-file/#extra_hosts
示例:
server:
build:
dockerfile: dockerfile.dev
context: ./
depends_on:
- mysql
command: ['./docker/wait-for-it.sh', 'mysql:3306', '--', 'yarn', 'watch']
ports:
- "3000:3000"
extra_hosts:
- "mssqlhost:192.168.0.x"
然后您可以使用名称mssqlhost
从dockerized应用程序中引用MSSQL服务器>