2017-10-19 6 views
3

現在、VMからDocker Windowsコンテナに移行しようとしています。コンテナは、Windows Server 2016 Datacenterでホストされています。 OSは、Hetznerがホストする物理的なルートコンピュータにインストールされます。 My Docker Containersには、c#で書かれたコンソールアプリが含まれており、google-cloudでホストされているMariaDBデータベースに更新が加えられています。Dockerからの複数のMySQL接続 - >ソケットエラー

すべてのコンソールアプリケーションが、別のipv4を使用する別個のVMで実行される前に。今すぐコンテナで実行され、次の例外が発生します。

Unhandled Exception: System.TypeInitializationException: The type initializer for 'A.C' threw an exception. ---> MySql.Data.MySqlClient.MySqlException: Authentication to host '##.##.##.##' for user '####' using 
method 'mysql_native_password' failed with message: Reading from the stream has failed. ---> MySql.Data.MySqlClient.MySqlException: Reading from the stream has failed. ---> System.IO.EndOfStreamException: 
Attempted to read past the end of the stream. 
    at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count) 
    at MySql.Data.MySqlClient.MySqlStream.LoadPacket() 
    --- End of inner exception stack trace --- 
    at MySql.Data.MySqlClient.MySqlStream.LoadPacket() 
    at MySql.Data.MySqlClient.MySqlStream.ReadPacket() 
    at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket() 
    --- End of inner exception stack trace --- 
    at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex) 
    at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket() 
    at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset) 
    at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset) 
    at MySql.Data.MySqlClient.NativeDriver.Open() 
    at MySql.Data.MySqlClient.Driver.Open() 
    at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) 
    at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() 
    at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() 
    at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() 
    at MySql.Data.MySqlClient.MySqlPool.GetConnection() 
    at MySql.Data.MySqlClient.MySqlConnection.Open() 
    at ServiceStack.OrmLite.OrmLiteConnection.Open() 
    at ServiceStack.OrmLite.OrmLiteConnectionFactory.OpenDbConnection() 
    at A.C.b() 
    at A.C..cctor() 
    --- End of inner exception stack trace --- 
    at A.C.A() 
    at A.b..ctor() 
    at A.a.A() 
    at A.d.A(String[]) 
    at A.d.a[A](String[]) 
    at A.A.A(String[]) 

DockerはNATネットワークを使用します。したがって、同じIPからの複数の接続に関する接続に問題があると思います。

誰かに似たような経験があったか、これを修正する方法を知っていますか?私はちょっと立ち往生して助けてくれてうれしいです。前もって感謝します。

私の設定に関する質問が他にもある場合は、私に知らせてください。

よろしく マイケル

答えて

0

これはMySql.Dataにおける共通の問題であるように思われます。潜在的な回避策については、bug 76597の末尾にあるRui Fanのコメントを参照してください。

関連する問題