Veo varios casos de puertos 2375 y 4243 que se usan aparentemente para lo mismo al buscar en Internet. Además, mi máquina local requiere que use 2375 para conectarme, mientras que cuando lo empujo a nuestro servidor CI requiere que esté configurado en 4243.
¿Para qué utiliza Docker estos puertos y en qué se diferencian?
El socket de la ventana acoplable se puede configurar en cualquier puerto con la opción dockerd -H . Los puertos acoplables comunes que veo incluyen:
Solo los dos primeros se configuran con dockerd -H , el modo swarm se puede configurar como parte de docker swarm init --listen-addr o docker swarm join --listen-addr .
Recomiendo encarecidamente deshabilitar el puerto 2375 y asegurar el zócalo de la ventana acoplable. Es trivial explotar de forma remota este puerto para obtener acceso completo a la raíz sin una contraseña remota. El comando para hacerlo es tan simple como:
docker -H $your_ip:2375 run -it --rm \ --privileged -v /:/rootfs --net host --pid host busybox Eso se puede ejecutar en cualquier máquina con un cliente docker para darle a alguien un shell raíz en su host con el sistema de archivos completo disponible en /rootfs, su red visible en ip a y todos los procesos visibles en ps -ef .
Para configurar la seguridad TLS en el socket de la ventana acoplable, consulte estas instrucciones. https://docs.docker.com/engine/security/https/