No, if you need to run custom software in a container (and it’s not a one-off) then you should be “baking” a Docker image using docker build (or, in a few rare cases where you need to do interactive steps that aren’t possible in a Dockerfile, docker commit might be used). Then, all of the default filesystem (including installed binaries, etc…) you expect to be available will be present on every single docker run.
Try to build an image with docker build. If you’re not baking your own images, you’re missing out on a hugely awesome part of Docker.