Day 20 - Docker Cheat sheet

Day 20 - Docker Cheat sheet

Docker Image Commands

# Create a docker image
$ docker build . -t <name of image>
. represent a dockerfile from present working directory
-t represent tag name i.e -t nodeimage

# Changing docker file name
$ mv Dockerfile Dockerfile_One

# Creating docker image using dockerfile_one
$ docker build -f Dockerfile_one -t imagetwo
# Run image
$ docker run <image_name>
# View list of docker images
$ docker images
# Delete docker images
$ docker rmi <Image name or ID>
# Create a docker image with tag
$ docker build . -t (tagname)/<Image name or ID>
$ docker build . -t rjthapaa/nodeimage

# Tag an image:
$ docker tag [image] [image]:[tag]
# Push a docker image to DockerHub repository
$ docker login
$ docker push rjthapaa/nodeimage
# Pull a docker image from DockerHub repository
$ docker pull <imagename>
$ docker pull ngnix
# Remove unwanted Images
$ docker image prune
docker history [image]
docker load --image [tar-file]
docker save [image] > [tar-file]
docker import [url/file]
# Create an image from a container:
$ docker commit [container] [new-image]

Docker Container Commands

# Create a container and run
$ docker run [image name]
$ docker ps                List all the running containers
$ docker ps -a             hidden and not running containers
# Create a container without running it
$ docker create [image name]
# Create an interactive container with pseudo-TTY:
$ docker create -it [Image name or ID]
# Rename an existing container:
$ docker rename [container] [new-name]
# Stop a Container
$ docker stop [container name or ID]
# Delete a Container
$ docker rm [container name or ID]
# Delete a Container forcefully
$ docker rm -f [container name or ID]
# Remove all stopped and unused containers
$ docker system prune -a

Docker Container Create and Run Commands

# Create a container and running it based on the Image provided
$ docker run [Image name or ID]
# Creating a container and running it in detached mode with ports mapped
$ docker run --name -d -p [host-port]:[container-port] [image]
$ docker run --name=nginx -d -p 80:80 [nginximage]
# Running a shell inside a container
$ docker exec -it [container name or ID] [shell]
# View logs
$ docker logs [containerID]

# Update the config
$ docker update [containerID]

# View port maping details of container
$ docker port [containerID]

# Show changes to files or directories on the filesystem:
$ docker diff [containerID]

# Running container 
# docker top [containerID]

# Status of containers
$ docker stats [containerID]

# Copy a file to container
$ docker cp [file-path] CONTAINER:[path]

Docker Volume Commands

# To display docker volume commands
$ docker volume –help
# Create docker volume
$ docker volume create <volume-name>
# Display docker volumes
$ docker volume ls
# Inspect the docker volume
$ docker volume inspect <volume-name>
# Remove docker volume
$ docker volume rm <volume-name>
# Remove unused volumes
$ docker volume prune
# create docker volume and mount it to volume called myvol
$ docker volume create myvol
$ docker run --name=nginx01 -–mount source=myvol,destination=/usr/share/nginx/html -d -p 80:80 nginx 
# Access static website in EC2 VM using Public ID:80
# Getting into the container
 $ docker exec -it nginx01 bash

Docker Network Commands

# List all the docker networks
$ docker network ls
# Running docker container with default container
$ docker run  - -name=nginx -d -p 80:80 nginx
# Creating our own bridge network
$ docker network create - -driver bridge my-network
# Run the docker container using custom network which we have created
$ docker run - -name nginx20 -d - -network my-network -p 7070:80 nginx
# Check the containers attached to your network
$ docker network inspect my-network
# Run the docker container using custom network which we have created
$ docker run - -name nginx20 -d - -network my-network -p 7070:80 nginx