Gorm アプリケーションが DSN を無視して Mac 上の Docker コンテナ内の PostgreSQL に接続できない
php エディタ Xiaoxin は最近、Mac 上の Gorm アプリケーションを使用して Docker コンテナ内の PostgreSQL に接続する際の接続の問題に遭遇しました。具体的なパフォーマンスは、DSN が無視されることです。 DSN はデータソース名の略称で、データベース接続情報を指定するために使用されます。データベースに接続できないとアプリケーションが正常に動作しなくなるため、この問題は私を際限なく悩ませます。次に、私が遭遇した問題とその解決策を共有し、皆さんのお役に立てればと思います。
質問内容
シンプルな gorest API を作成してみます。データベース処理に gorm ライブラリを使用していますが、コンテナ内のデータベースに接続できません。これは Apple チップ上の Docker に問題があるのではないかと思いますが、確かではありません。基本的に同じセットアップを使用する別のプロジェクトがありますが、データベースへの接続にまったく問題はありません。
基本的に、接続パラメータは、DSN 文字列を無視して、実行時に完全に変更されるようです
これは docker-compose.yml
:
これはデータベース接続を行う部分です:
リーリーdsn パラメータは、docker.env
で構成されたパラメータと一致します。 pgadmin は問題なく接続を確立できます。
これは私が受け取ったエラーです。何らかの理由で接続パラメータが完全に変更されたようです:
リーリーdsn 文字列の最後の部分を変更し、コンテナを削除して再作成しようとしましたが、それでも成功しませんでした。
解決策
私は単純に、dsn 文字列が mysql と同じ形式であると想定していました。代わりに、次のようになります:
リーリー以上がGorm アプリケーションが DSN を無視して Mac 上の Docker コンテナ内の PostgreSQL に接続できないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

この記事では、ユニットテストのためにGOのモックとスタブを作成することを示しています。 インターフェイスの使用を強調し、模擬実装の例を提供し、模擬フォーカスを維持し、アサーションライブラリを使用するなどのベストプラクティスについて説明します。 articl

この記事では、GENICSのGOのカスタムタイプの制約について説明します。 インターフェイスがジェネリック関数の最小タイプ要件をどのように定義するかを詳しく説明し、タイプの安全性とコードの再利用性を改善します。 この記事では、制限とベストプラクティスについても説明しています

この記事では、GOでテーブル駆動型のテストを使用して説明します。これは、テストのテーブルを使用して複数の入力と結果を持つ関数をテストする方法です。読みやすさの向上、重複の減少、スケーラビリティ、一貫性、および

この記事では、コードのランタイム操作に使用されるGoの反射パッケージについて説明します。シリアル化、一般的なプログラミングなどに有益です。実行やメモリの使用量の増加、賢明な使用と最高のアドバイスなどのパフォーマンスコストについて警告します
