【问题标题】:Fatal error: Error raised at top level: NIO.SocketAddressError.unknown(致命错误:在顶层引发错误:NIO.SocketAddressError.unknown(
【发布时间】:2021-10-13 13:57:25
【问题描述】:

大家好,我是 steam 新手,我尝试使用 fluent 将 docker 容器中的 Vapor 应用程序连接到另一个 docker 容器中的 MySQL 数据库,但出现以下错误

unknown(host: "mysql_host", port: 3306)
Swift/ErrorType.swift:200: Fatal error: Error raised at top level: 
NIO.SocketAddressError.unknown(host: "mysql_host", port: 3306)

这是我在 configure.swift 上的配置:

app.databases.use(.mysql(hostname:"mysql_net", 
username:"sergio", 
password:"holaMundo", 
database:"vapor",
tlsConfiguration: .forClient(certificateVerification: .none)), as: .mysql)

这是我的 docker-compose:

version: '3.7' 
services:
mysql:
  build:
    context: .
    dockerfile: Dockerfile
  container_name: bd
  restart: always
  ports:
   - 3306:3306
  environment: 
    MYSQL_ROOT_PASSWORD: "holaMundo"
    MYSQL_DATABASE: "vapor"
    MYSQL_USER: "sergio"
    MYSQL_PASSWORD: "holaMundo"
  volumes:
    - ./schemas:/var/lib/mysql:rw
networks:
  mysql_network:
    aliases:
      - mysql_host
volumes:
  schemas: {}
networks:
  mysql_network:
    name: mysql_net
    driver: bridge

【问题讨论】:

    标签: docker vapor vapor-fluent


    【解决方案1】:

    您数据库的主机名别名为mysql_host、mysql_net。是网络的名称。

    请注意,您可以删除所有网络代码 - 默认情况下,服务在 compose 中联网在一起。您可以使用mysql 作为主机名

    【讨论】:

      猜你喜欢
      • 2017-04-24
      • 2011-04-13
      • 2018-09-07
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 2017-04-29
      • 1970-01-01
      相关资源
      最近更新 更多