An open API service indexing awesome lists of open source software.

https://github.com/swayamgupta12345/docker

A complete Docker command reference and revision guide with examples, flags, and workflows. Perfect for beginners to quickly revise everything from building images to pushing on Docker Hub.
https://github.com/swayamgupta12345/docker

docker docker-compose docker-image dockerfile

Last synced: about 2 months ago
JSON representation

A complete Docker command reference and revision guide with examples, flags, and workflows. Perfect for beginners to quickly revise everything from building images to pushing on Docker Hub.

Awesome Lists containing this project

README

          

# ๐Ÿณ Docker Revision Guide

This repository contains a comprehensive Markdown guide for Docker, designed for quick revision and long-term reference. It includes:

- ๐Ÿ”ง Common Docker commands
- ๐Ÿš€ Building & running images/containers
- ๐Ÿ“ฆ Dockerfile examples
- ๐Ÿ› ๏ธ Docker Hub workflow
- ๐Ÿงน Cleanup and image management tips
- ๐Ÿท๏ธ All commonly used flags explained

Whether you're just getting started or brushing up before a deployment, this guide keeps you covered.

# ๐Ÿณ Docker Full Revision Guide

A comprehensive revision Markdown file to help you recall and revise all key Docker concepts and commands.

---

## ๐Ÿ“ฆ 1. Installation & Setup

### ๐Ÿ”น Install Docker
- [Docker Desktop (Windows/Mac)](https://www.docker.com/products/docker-desktop)
- Linux: Use your package manager (e.g., `apt`, `dnf`)

### ๐Ÿ”น Check Docker Version
```bash
docker --version
```

### ๐Ÿ”น Check Docker Status
```bash
docker info
```

---

## ๐Ÿณ 2. Docker Basics

### ๐Ÿ”น Pull an Image
```bash
docker pull :
```
- Example: `docker pull ubuntu:20.04`

### ๐Ÿ”น Run a Container
```bash
docker run [OPTIONS] [COMMAND]
```
**Common Flags:**
- `-d` : Run in detached mode (in background)
- `-p` : Port mapping (e.g., `-p 8080:80`)
- `--name` : Assign a name
- `-it` : Interactive + TTY (for shell access)

Example:
```bash
docker run -d -p 3000:3000 --name myapp node:18
```

### ๐Ÿ”น List Running Containers
```bash
docker ps
```

### ๐Ÿ”น List All Containers (including stopped)
```bash
docker ps -a
```

### ๐Ÿ”น Stop a Container
```bash
docker stop
```

### ๐Ÿ”น Start a Stopped Container
```bash
docker start
```

### ๐Ÿ”น Remove a Container
```bash
docker rm
```

---

## ๐Ÿ“‚ 3. Docker Images

### ๐Ÿ”น List Images
```bash
docker images
```

### ๐Ÿ”น Remove an Image
```bash
docker rmi
```
Use `-f` to force:
```bash
docker rmi -f
```

### ๐Ÿ”น Build an Image from Dockerfile
```bash
docker build -t :tag .
```
Example:
```bash
docker build -t swayamgupta12345/learn:latest .
```

### ๐Ÿ”น Tag an Image
```bash
docker tag /:
```

### ๐Ÿ”น Push to Docker Hub
```bash
docker push /:
```

### ๐Ÿ”น Login to Docker
```bash
docker login
```

### ๐Ÿ”น Logout
```bash
docker logout
```

---

## ๐Ÿงน 4. Docker Cleanup

### ๐Ÿ”น Remove All Stopped Containers
```bash
docker container prune
```

### ๐Ÿ”น Remove All Unused Images
```bash
docker image prune
```

### ๐Ÿ”น Remove Everything (containers + images + volumes)
```bash
docker system prune -a
```
Add `-f` to skip confirmation:
```bash
docker system prune -a -f
```

---

## ๐Ÿ›  5. Dockerfile Reference

```dockerfile
# Start with base image
FROM node:18

# Set working directory
WORKDIR /app

# Copy package files
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy rest of the files
COPY . .

# Expose the port
EXPOSE 3000

# Start command
CMD ["npm", "start"]
```

---

## ๐Ÿงช 6. Docker Compose Basics

### ๐Ÿ”น Sample `docker-compose.yml`
```yaml
version: '3'
services:
backend:
build: .
ports:
- "5000:5000"
depends_on:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
```

### ๐Ÿ”น Commands
- Start services:
```bash
docker-compose up
```
- Run in background:
```bash
docker-compose up -d
```
- Stop services:
```bash
docker-compose down
```

---

## ๐ŸŒ 7. DockerHub Best Practices

### ๐Ÿ”ธ Repositories
- Public: visible to everyone
- Private: only for you (1 free private repo on DockerHub free tier)

### ๐Ÿ”ธ Tips
- Always tag images before pushing.
- Use meaningful names and versions.
- Keep images light and clean.

---

## ๐Ÿง  Useful Flags Cheat
| Command | Flags | Description |
|--------|--------|-------------|
| `docker run` | `-d`, `-p`, `--name`, `-it` | Background, port, name, interactive |
| `docker ps` | `-a` | Show all containers |
| `docker build` | `-t` | Tag the build |
| `docker rmi` | `-f` | Force remove |
| `docker system prune` | `-a`, `-f` | Remove everything |

---

## โœ… Recommended Flow for Uploading a Project to DockerHub
```bash
docker build -t swayamgupta12345/learn:latest .
docker login
docker push swayamgupta12345/learn:latest
```

---

## ๐Ÿงพ Extras

### ๐Ÿ”น Check Container Logs
```bash
docker logs
```

### ๐Ÿ”น Execute Command in Running Container
```bash
docker exec -it bash
```

### ๐Ÿ”น Save Image as Tar File
```bash
docker save -o myapp.tar swayamgupta12345/learn:latest
```

---