Deploying a docker container


I m new to docker and actually, I can create only simple docker components.

I was wondering if it was a good practice to create a docker image with an application embedded (or git clone and other command line calls), push it on the hub, on a private repository and then deploy it directly running this image on the client server ?

Is it a correct way to package my app and to deploy it easily ?