Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解决客户端错误代码1_C#_Docker_.net Core_Containers_Aerospike - Fatal编程技术网

C# 如何解决客户端错误代码1

C# 如何解决客户端错误代码1,c#,docker,.net-core,containers,aerospike,C#,Docker,.net Core,Containers,Aerospike,创建客户端后,我收到: Aerospike.Client.AerospikeException.Connection HResult=0x80131500 Message=Failed to connect to host(s): localhost 3000 Error -1: An established connection was aborted by the software in your host machine 我使用以下命令创建了一个新的Aerospike容器,该容

创建客户端后,我收到:

Aerospike.Client.AerospikeException.Connection
  HResult=0x80131500
  Message=Failed to connect to host(s): 
localhost 3000 Error -1: An established connection was aborted by the software in your host machine
我使用以下命令创建了一个新的Aerospike容器,该容器在端口为3000的本地计算机上运行:

docker run -d -p 3000:3000 aerospike/aerospike-server
docker run -it aerospike/aerospike-tools aql -h 172.17.0.2 -p 3000
我已通过以下命令将其与AerospikeClient&AQL连接:

docker run -d -p 3000:3000 aerospike/aerospike-server
docker run -it aerospike/aerospike-tools aql -h 172.17.0.2 -p 3000
后来我玩了docker容器命令(停止和启动),它仍然有效

现在,由于某种原因,它不再工作了,我仍然设法与AQL联系,但与Aerospike客户端没有联系

asClient=新客户端(主机名、端口)//引发异常

这是完整的异常日志:

Source=AerospikeClient
  StackTrace:
   at Aerospike.Client.Cluster.SeedNodes(Boolean failIfNotConnected)
   at Aerospike.Client.Cluster.Tend(Boolean failIfNotConnected)
   at Aerospike.Client.Cluster.WaitTillStabilized(Boolean failIfNotConnected)
   at Aerospike.Client.Cluster.InitTendThread(Boolean failIfNotConnected)
   at RestaurantDecider.DataAccess.AerospikeRestaurantRepo..ctor() in C:\Users\etianc\source\repos\AeroSpikeDemo\RestaurantDecider.DataAccess\AerospikeRestaurantRepo.cs:line 28
   at AeroSpikeDemo.Program.Main(String[] args) in C:\Users\etianc\source\repos\AeroSpikeDemo\AeroSpikeDemo\Program.cs:line 30

我对Aerospike不太熟悉,但从我看到的情况来看,您正在运行两个独立的容器——一个是“服务器”,另一个是连接到它的客户端。在不使用DOCKER撰写时需要考虑的事情。YLL

  • 两个容器需要在同一个网络上才能相互通信(如果您有多服务设置,我建议使用docker compose,因为它会为项目创建一个特殊的网络,默认情况下所有容器都附着在该网络上)
  • 您不应该只是硬编码IP地址,而是定义一个特殊的主机名,因为IP地址可能会根据已经分配给其他网络/容器的IP而改变
  • 如果我是你,我只会使用类似以下内容的docker-compose.yml文件:

    version: "3"
    services:
      server:
        image: aerospike/aerospike-server
      client:
        depends_on:
          - server
        image: aerospike/aerospike-tools
        command: ["aql", "-h", "172.17.0.2", "-p", "3000"]
    

    但是从我在docker hub上看到的情况来看,您应该使用自定义配置文件并定义访问地址(请参见访问地址配置下的内容)

    您好,谢谢您的回答。我将查找更多关于docker compose的信息,因为它似乎是一个更强大的工具。我找不到这个问题的根本原因,但似乎简单地重置docker桌面就可以解决它。