Mem_limit being ignored in my docker-compose.yml. Also, where is docker-compose?

I have two questions.

(1) I added a mem_limit for my service in my docker-compose.yml. This was due to, last time I tried running this service, it ended up consuming 8GB of memory on my host, which only had 27GB to begin with, so I had to shut down the stack.
My updated docker-compose.yml contained this:

  node-exporter:
    labels:
      io.rancher.scheduler.global: 'true'
    tty: true
    image: prom/node-exporter:latest
    stdin_open: true
    mem_limit: 5000000

(I originally tried this: “mem_limit: 1g” but got the error "strconv.ParseInt “1g”: invalid syntax. So then I switched to “mem_limit: 5000000” and the error message went away)

So, after I made the above update, I re-launched my stack, and started observing my node-exporter containers. They seemed to be completely ignoring the mem_limit setting. The memory usage started creeping up rapidly, from 8MB shortly after launch, to 16 MB a few minutes later, and then 86 MB about 15 minutes later. I ended up shutting down my stack.
BTW, on these hosts we are still running Docker 1.12.3

(2) I tried running “docker-compose --version” on my hosts, but it doesn’t seem to be installed. “docker” is installed, but “docker-compose” doesn’t seem to be.

OK, I found the answer to the first question.
Issue 3554 was fixed in 1.6
https://github.com/rancher/rancher/issues/3554

I still have the 2nd question though.

docker-compose is not part of the standard docker installation.

Would you happen to know whether docker-compose even part of Rancher? or is it replaced by rancher-compose?
I tried logging into some of my environment hosts, ran ‘which docker-compose’ and it came up empty.
As did ‘which rancher-compose’.
I also logged into my Rancher server host, and didn’t find either of them there, either.
One of the developers here suggested it might actually be located inside the agent.