Skip to content

[BUG] When running Pixiu via Docker, Pixiu fails to connect to the server on the host machine.  #724

@Alanxtl

Description

@Alanxtl

Reproduction Process

Using dubbo-go-pixiu-samples as the service code, follow the HOWTO_CN.md in dubbo-go-pixiu-samples to reproduce the http/simple example.

You need to modify http/simple/pixiu/conf.yaml to observe the HTTP logs — add a new filter after line 53:

                  - name: dgp.filter.http.accesslog
                    config:
                      outPutPath: "/app/pixiu/access.log"

At this point, when running Pixiu, the server, and the client all locally, the example works properly (although the test may fail, the HTTP requests can still reach the server correctly).

The log from /app/pixiu/access.log looks like this:

[2025-08-04 15:07:17] 127.0.0.1:59150 -> localhost:8888 - cost time [ 26584 ] response [ {"message":"data is exist"}] 
[2025-08-04 15:07:17] 127.0.0.1:59150 -> localhost:8888 - cost time [ 23240 ] response [ {"id":"0001","name":"tc","age":18,"time":"2021-08-01T10:08:41Z"}]

Next, Pixiu is no longer run locally but instead run in Docker:

docker build --no-cache -t dubbo-go-pixiu:local .
docker run --name pixiu-gateway -p 8888:8888 -d -v /abs/path/to/dubbo-go-pixiu-samples/http/simple/pixiu/conf.yaml:/etc/pixiu/conf.yaml dubbo-go-pixiu:local

Pixiu starts successfully, but the health check continually fails:

2025-08-04T08:56:33.054Z INFO healthcheck/utils.go:39 [health check] health check for address "127.0.0.1:1314" failed, dial tcp 127.0.0.1:1314: i/o timeout

Then rerun the tests from the samples:

go test -v ./http/simple/test/ --count=1

At this point, the log in /app/pixiu/access.log inside Docker shows:

[2025-08-04 09:57:48] 172.17.0.1:55738 -> 127.0.0.1:8888 - cost time [ 9223372036854775807 ]invoke err [ [123 34 109 101 115 115 97 103 101 34 58 34 99 108 117 115 116 101 114 32 110 111 116 32 102 111 117 110 100 32 101 110 100 112 111 105 110 116 34 125]]  response can not convert to string] 
[2025-08-04 09:57:48] 172.17.0.1:55738 -> 127.0.0.1:8888 - cost time [ 9223372036854775807 ]invoke err [ [123 34 109 101 115 115 97 103 101 34 58 34 99 108 117 115 116 101 114 32 110 111 116 32 102 111 117 110 100 32 101 110 100 112 111 105 110 116 34 125]]  response can not convert to string] 

From the logs, we can see that the client’s requests to Pixiu (running in Docker) are received successfully, but Pixiu’s requests to the server fail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions