# Docker Cheat Sheet

Here is a list of ten basic and easiest Docker commands. This will help you in getting started with Docker

* List all running containers:-
    

```powershell
sudo docker ps
```

* List all running and stopped containers:-
    

```powershell
sudo docker ps -a
```

* List all Docker images:-
    

```powershell
sudo docker images
```

* Pull a Docker image:-
    

```powershell
sudo docker pull alpine
```

* Run a Docker container using port:-
    

```powershell
docker run -itd -p83:80 --name apache2 ubuntu/apache2
```

* Check logs of a Docker container:-
    

```powershell
sudo docker logs <container_id>
```

* Run a command in a running Docker container:-
    

```powershell
sudo docker exec -it <container_id> bash
```

* Stop a Docker container:-
    

```powershell
sudo docker stop <container_id>
```

* Delete a Docker container:-
    

```powershell
sudo docker rm <container_id>
```

* Delete a Docker image:-
    

```powershell
sudo docker rmi <image_id>
```

* Removing all Images:-
    

```powershell
docker image rm $(docker image ls -a -q)
```

**Networking:-**

* Creating a Bridge Network:-
    

```powershell
docker network create -d bridge MyBridgeNetwork
```

* Creating an Overlay Network:-
    

```powershell
docker network create -d overlay MyOverlayNetwork
```

* Creating a Customized Overlay Network:-
    

```powershell
docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork
```

* Removing a Network:-
    

```powershell
docker network rm MyOverlayNetwork
```

* Listing Networks:-
    

```powershell
docker network ls
```

* Getting Information About a Network:-
    
    ```powershell
    docker network inspect MyOverlayNetwork
    ```
    
* Connecting a Running Container to a Network:-
    

```powershell
docker network connect MyOverlayNetwork nginx
```

* Connecting a Container to a Network When it Starts:-
    

```powershell
docker container run -it -d --network=MyOverlayNetwork nginx
```

* Disconnecting a Container from a Network:-
    

```powershell
docker network disconnect MyOverlayNetwork nginx
```

**Volume:-**

* Create a new Docker volume:-
    
    ```powershell
     docker volume create <volume_name>
    ```
    
* List Docker volumes.:-
    

```powershell
docker volume ls
```

* Inspect details about a Docker volume:-
    
    ```powershell
     docker volume inspect <volume_name>
    ```
    
* Remove a Docker volume:-
    
    ```powershell
     docker volume rm <volume_name>
    ```
    

Docker Compose:-

* Start containers defined in a Docker Compose file:-
    

```powershell
docker-compose up
```

* Stop and remove containers defined in a Docker Compose file:-
    

```powershell
docker-compose down
```

**DOCKER HUB:-**

* Login into Docker:-
    

```powershell
docker login -u <username>
```

* Publish an image to Docker Hub:-
    

```powershell
docker push <username>/<image_name>
```

* Search Hub for an image:-
    

```powershell
docker search <image_name>
```

* Pull an image from a Docker Hub:-
    

```powershell
docker pull <image_name>
```

[**Devops**](https://shreyakhangan.hashnode.dev/tag/devops)[**#devops,#90daysofDevOps**](https://shreyakhangan.hashnode.dev/tag/devops90daysofdevops)

**Thank you for reading!! I hope you find this article helpful!!**

**if any queries or corrections to be done to this blog please let me know.**

**Happy Learning!!**

**Saikat Mukherjee**
