Ich möchte ein Konsolenprogramm (.NET-Anwendung) in einem Docker-Container ausführen. Es enthält einen Mongo-Client und funktioniert einwandfrei, wenn es als eigenständiges Programm verwendet wird. Allerdings erhalte ich immer wieder Timeout-Fehler, wenn ich versuche, einen Docker-Container zu erstellen. Ich habe sogar überprüft, ob die Verbindung vom Docker-Container funktioniert, indem ich genau dieselbe Verbindungszeichenfolge für MongoDB verwendet habe. Es gibt ein Problem mit dem Programm, das für Docker erstellt wurde (ich verwende AOT, aber es sollte kein Problem sein, da es für Standalone genauso funktioniert).
Noch seltsamer ist die Tatsache dass es auch beim Debuggen in Visual Studio mit Docker-Einstellungen ordnungsgemäß funktioniert.
Was mache ich falsch? NB: Als ich das Projekt gestartet habe, habe ich die Docker-Datei verwendet, die Visual Studio erstellt hat, und diese Datei wird auch zum Debuggen verwendet.
Fehler:
Ich möchte ein Konsolenprogramm (.NET-Anwendung) in einem Docker-Container ausführen. Es enthält einen Mongo-Client und funktioniert einwandfrei, wenn es als eigenständiges Programm verwendet wird. Allerdings erhalte ich immer wieder Timeout-Fehler, wenn ich versuche, einen Docker-Container zu erstellen. Ich habe sogar überprüft, ob die Verbindung vom Docker-Container funktioniert, indem ich genau dieselbe Verbindungszeichenfolge für MongoDB verwendet habe. Es gibt ein Problem mit dem Programm, das für Docker erstellt wurde (ich verwende AOT, aber es sollte kein Problem sein, da es für Standalone genauso funktioniert). Noch seltsamer ist die Tatsache dass es auch beim Debuggen in Visual Studio mit Docker-Einstellungen ordnungsgemäß funktioniert. Was mache ich falsch? NB: Als ich das Projekt gestartet habe, habe ich die Docker-Datei verwendet, die Visual Studio erstellt hat, und diese Datei wird auch zum Debuggen verwendet. Fehler: [code]2024-12-28 19:35:37 A timeout occurred after 30000ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "1", Type : "Unknown", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "192.168.0.11:27017" }", EndPoint: "192.168.0.11:27017", ReasonChanged: "Heartbeat", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. 2024-12-28 19:35:37 ---> System.MissingMethodException: No suitable constructor found for serializer type: 'MongoDB.Bson.Serialization.Serializers.ExpandoObjectSerializer'. 2024-12-28 19:35:37 at MongoDB.Bson.Serialization.BsonSerializationProviderBase.CreateSerializer(Type, IBsonSerializerRegistry) + 0x22b 2024-12-28 19:35:37 at MongoDB.Bson.Serialization.CollectionsSerializationProvider.GetSerializer(Type, IBsonSerializerRegistry) + 0xa4 2024-12-28 19:35:37 at MongoDB.Bson.Serialization.BsonSerializerRegistry.CreateSerializer(Type type) + 0x9a 2024-12-28 19:35:37 at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey, Func`2) + 0xa0 2024-12-28 19:35:37 at MongoDB.Bson.Serialization.BsonSerializer.LookupSerializer[T]() + 0x51 2024-12-28 19:35:37 at MongoDB.Bson.BsonDefaults.get_DynamicDocumentSerializer() + 0x28 2024-12-28 19:35:37 at MongoDB.Bson.Serialization.BsonDeserializationContext.Builder..ctor(BsonDeserializationContext, IBsonReader) + 0x3b 2024-12-28 19:35:37 at MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders.ReplyMessageBinaryEncoder`1.ReadMessage() + 0x210 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.BinaryConnection.ReceiveMessageHelper.DecodeMessage(IByteBuffer, IMessageEncoderSelector, CancellationToken) + 0x135 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.BinaryConnection.ReceiveMessage(Int32, IMessageEncoderSelector, MessageEncoderSettings, CancellationToken) + 0x14d 2024-12-28 19:35:37 at MongoDB.Driver.Core.WireProtocol.CommandUsingQueryMessageWireProtocol`1.Execute(IConnection, CancellationToken) + 0x173 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.HelloHelper.GetResult(IConnection, CommandWireProtocol`1, CancellationToken) + 0x50 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.ConnectionInitializer.SendHello(IConnection, CancellationToken) + 0x105 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(CancellationToken) + 0x93 2024-12-28 19:35:37 --- End of inner exception stack trace --- 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(CancellationToken) + 0x167 2024-12-28 19:35:37 at MongoDB.Driver.Core.Connections.BinaryConnection.Open(CancellationToken) + 0x17e 2024-12-28 19:35:37 at MongoDB.Driver.Core.Servers.ServerMonitor.InitializeConnection(CancellationToken) + 0x57f 2024-12-28 19:35:37 at MongoDB.Driver.Core.Servers.ServerMonitor.Heartbeat(CancellationToken) + 0x174", LastHeartbeatTimestamp: "2024-12-29T00:35:37.8947163Z", LastUpdateTimestamp: "2024-12-29T00:35:37.8947163Z" }] }. [/code]
Ich bin sicher, dass sich alle Container im selben Netzwerk befinden.
Ich kann mit redis-cli eine Verbindung zu redisContainer herstellen
Wenn ich meine Spring-Boot-App von der IDE aus starte (nicht...
Ich habe einen Java -Client, der sich erfolgreich mit Activemq Artemis JMX verbindet, wenn beide auf derselben Maschine ausgeführt werden. Der Client verwendet den folgenden Code:
public static...
Ich habe einen Docker -Container, der auf OL9 -Bild ausgeführt wird. Die App verbindet eine Datenbank, die auf einem anderen Host auf Port 30042 ausgeführt wird. Wenn der Container beginnt, ist es in...
Ich habe eine Java-Anwendung als Pod in einer Kubernetes-Umgebung sowie Cassandra mit einem 3-Knoten-Cluster bereitgestellt. Ich verwende den FQDN des Cassandra-Dienstes, um eine Verbindung zu...
Ich führe eine Python-Anwendung mit PyQt6 aus. Meine Umgebung ist Arch Linux über WSL. Es kann Plugins finden und die Anzeige „:0“ ist verfügbar, wenn ich $DISPLAY wiedergebe, aber es kann keine...