Sendings commands to Docker container environment

So, I need to run

Docker run -it image bash 

which returns a shell prompt.
Then, I need to run

Source ....

Followed by

Roslaunch ...

I tried combining the last 2 steps into one using && like

Docker run -it image bash -c " source  ... && Roslaunch ..."

The problem I’m encountering is that the commands after -c are being executed in a different environment. Because I’m getting an error about environment variables that I didn’t get when I did the normal way ( 3 commands, one after the other )
Is there any way I can pass the cmds into this docker container with/without having the prompt while having the same context.
I’ve tried -d Option, not using -it,

I’ve even tried running docker exec container-name cmd but ran into the same errors. Is there any way I can pass the 2 commands but still retain the context of the docker container?

Source: StackOverflow