So, I don't know about following the docker links format. They use:

    DB_PORT=tcp://172.17.0.8:6379
    DB_PORT_6379_TCP=tcp://172.17.0.8:6379
    DB_PORT_6379_TCP_PROTO=tcp
    DB_PORT_6379_TCP_ADDR=172.17.0.8
    DB_PORT_6379_TCP_PORT=6379

1. I don't think we know the protocol, do we?
2. We'd have to parse the service discovery value to get the port number. I don't even understand how it isn't extraordinarily unhelpful to have the port numbers be part of the env variable in docker, but surely it makes no sense here, where we are dealing with possibly randomly assigned ports.
3. At that point, we could either go ahead and match ${NAME}_PORT - or scrap the idea completely.

We could do:

NAME_URI=tcp://172.17.0.8:6379
NAME_PORT= 6379
NAME_ADDR=172.17.0.8

I was originally thinking allow an explicit name such that you if my service is called "blog-mysql", and the blog wants a MYSQL_URI variable, you could make sdutil provide that as is, but frankly there are to many options (e.g. it might ask for DB_HOST), so I would just scrap that part, and instead generate something amounting to the above values for each service name, replacing special characters with an underscore.