0

I would like to have a service being deployed as part of a docker stack to listen on ipv4. Currently the docker stack deployed service (rabbitmq) is listening on ipv6, I would like to have it listen via ipv4. The section of docker compose .yaml file that I using to deploy the docker stack as the following yaml section.

    rabbitmq-3-11-0:
      #image: rabbitmq:3.11.0-management
      image: "127.0.0.1:5000/bcl-sdv-rabbitmq-3-11-0:v0.1"
      ports:
        -
          "0.0.0.0:5672:5672/tcp"
        -
          "0.0.0.0:15672:15672/tcp" #15672: HTTP API clients, management UI and rabbitmqadmin (only if the management plugin is enabled)

On deployment of the docker stack, the "rabbitmq-3-11-0" service is deployed successfully.

To test IP connectivity I issue the following commands on the docker node.

ncat -w 2 -v ::1 5672 </dev/null; echo $?

yields

Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to ::1:5672.

While the command

ncat -w 2 -v 0.0.0.0 5672 </dev/null; echo $?

yields

Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 0.0.0.0:5672.
Ncat: Connection reset by peer.
1

The command

ncat -w 2 -v 127.0.0.1 5672 </dev/null; echo $?

produces

Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:5672.
Ncat: Connection reset by peer.
1

The netstat command below

sudo netstat -tulnp|grep 5672

shows that the ports 5672 and 15672 are listening on ipv6.

tcp6       4      0 :::5672                 :::*                    LISTEN      2527/dockerd        
tcp6       0      0 :::15672                :::*                    LISTEN      2527/dockerd        

The command to determine the docker version below

docker info|grep Version

Outputs

 Server Version: 20.10.20
 Cgroup Version: 1
 Kernel Version: 3.10.0-1160.76.1.el7.x86_64

The Linux version command below

lsb_release

prints

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Allan K
  • 379
  • 2
  • 13
  • That error suggests to me that your container isn't listening on port 5672; it doesn't have anything to do with IPv4 vs. IPv6. If you're using a custom image, what's in its Dockerfile? Are you in fact deploying this using Docker's Swarm cluster orchestration service? – David Maze Jan 03 '23 at 14:19
  • thanks "David Maze" see the outputs of the ncat command you will see that the "ncat -w 2 -v ::1 5672 – Allan K Jan 03 '23 at 16:27
  • The above service is begin deployed as part of a docker stack deployment. I use a command such as "docker stack deploy --compose-file=/path/to/docker_compose_file.yaml my-rabbitmq-prod" – Allan K Jan 03 '23 at 16:29

0 Answers0