Without the -m state rule above the DROP rule, outside access is blocked, but traffic initiated from docker won't return.
-m state
DROP
-A DOCKER-USER -m state --state RELATED,ESTABLISHED -j ACCEPT -A DOCKER-USER ! -s 127.0.0.1/32 -i eth0 -j DROP