# Docker cheat-sheet
---
###### tags: `docker` `docker-cheat-sheet` `container` `devops`
## create a image from a running container
> `docker commit -m " commit messange" -a "author info" <container-id/name> username/iamgename:tag`
> **ex:** `docker commit -m "added server" -a "arif istiak" 0123asd123 aistiak/saas_apache:v3.2`
> - -m is commit message
> - -a is author info
## run bash in a container in interactive mode
> `docker exec -it <container-id/name> bash`
> **ex:** `docker exec -it yguyg123gy bash`
## tag an image
> ` docker tah <base-img-name> <new-name>:<tag-name>`
> if we want to push the image to docker hub then we would have to tag it like
> `docker tag <base-img-name> <docker-hub-username>/<new-img-name>:<tag>`
> ex `docker tag ubuntu:latest aisrika/ubuntu:my-svr`
## push a image to docker hub
> - have to be logged into docker hub
> - image name has to be in format like `username/imagename:tag` **ex:** `aistiak/saas_apache:v2.3`
> - docker push <image-name>
## `RUN` VS `CMD` in DockerFile
> `RUN` is run agains the image & `CMD` is agains the container
> `CMD` can be used only once in a dockerfile