Route incoming traffic in Docker swarm setup
I have not used ingress, but I believe it just wraps NGINX. As far as I know, docker has no equivalent, but you can, of course, make your own NGINX service that will perform this task for you. A quick example might look like:
server { listen 80; server_name example.org www.example.org; root /data/www; location / { index index.html index.php; } location ~* \.(gif|jpg|png)$ { expires 30d; } location ~ \.php$ { fastcgi_pass php_container_name:9000; //NOTE THE CONTAINER *NAME* NOT IP fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
(taken from http://nginx.org/en/docs/http/request_processing.html)
You would then launch a container built with nginx and your config. Note that you would refer to your other services by name.
Edit: this post - Kubernetes: Ingress vs Load Balancer may explain more and possibly help you translate your current kubernetes solution.