Docker Mastery Hub

Deploy high-performance containerized environments through our Educational Initiative . Experience the best free vps infrastructure for modern developers.

The official deployment script for Linux environments.

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

Launch a high-speed web server mapped to port 80.

docker run -d --name my-web -p 80:80 nginx:latest

Ensure data survives container deletions.

docker volume create site_data
docker run -d -p 8080:80 -v site_data:/usr/share/nginx/html nginx

Launch a full CMS stack with YAML.

services:
  db:
    image: mariadb:10.6
    environment:
      MYSQL_ROOT_PASSWORD: my_secret_pass
  wordpress:
    image: wordpress
    ports: ["80:80"]

Manage your server from a web dashboard.

docker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Package your own Node.js or Python apps.

FROM node:18-alpine
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "app.js"]

Remove all unused data on your VPS.

docker system prune -a --volumes

Automated SSL certificates for your containers.

docker run -d -p 81:81 -p 443:443 --name npm-proxy jc21/nginx-proxy-manager:latest

Hard-limit container memory usage.

docker run -d --name limited-app --memory="512m" --cpus="0.5" nginx

Web-based log viewer for all services.

docker run -d --name logs -p 8888:8080 -v /var/run/docker.sock:/var/run/docker.sock amir20/dozzle:latest

Keep your database invisible to the public internet.

docker network create private-net
docker run -d --network private-net --name db mysql

Auto-deploy code when you push to GitHub.

- name: Build and Push
  uses: docker/build-push-action@v4
  with:
    push: true

Auto-restart unhealthy containers.

HEALTHCHECK --interval=30s --timeout=3s \
  CMD curl -f http://localhost/ || exit 1

Reduce final image size drastically.

FROM node:18 AS build
RUN npm run build
FROM nginx:alpine
COPY --from=build /dist /usr/share/nginx/html

Find exploits using Docker Scout.

docker scout cves my-app:latest

Transform your VPS into a Swarm cluster.

docker swarm init --advertise-addr YOUR_IP

Store passwords outside of configuration files.

echo "my_pass" | docker secret create db_pass -

Track CPU/RAM metrics over time.

docker run -d -p 9090:9090 prom/prometheus

Export images to tar archives for safe storage.

docker save -o backup.tar my-image:latest

Audit the hardening of your running stack.

docker container inspect my-web --format '{{.HostConfig.SecurityOpt}}'

Connect multiple VPS nodes to a single central Portainer dashboard.

docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:latest

Speed up your PHP or Node apps by deploying an in-memory Redis database.

docker run -d --name redis-cache -p 6379:6379 redis:alpine

Automate technical audits for your sites using a containerized browser.

docker run -d --name seo-bot -p 3000:3000 alekzonder/puppeteer-renderer
docker run -d --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=pass mongo

Monitor your websites (eSIMFree.org, iRegister.al) and get alerts if they go down.

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

Run scheduled scripts inside a container using Crontab.

# Dockerfile snippet
RUN apt-get update && apt-get install cron -y
COPY my-cron /etc/cron.d/my-cron
RUN crontab /etc/cron.d/my-cron
CMD ["cron", "-f"]
docker run --rm -v $(pwd):/src klakegg/hugo:ext-alpine
docker run -d --name pihole -p 53:53/tcp -p 53:53/udp -p 80:80 -e TZ="Europe/Tirane" -v "$(pwd)/etc-pihole:/etc/pihole" pihole/pihole:latest

Self-host your own Google Drive alternative.

docker run -d -p 8080:80 -v nextcloud:/var/www/html nextcloud
docker run -d -p 8888:8888 jupyter/base-notebook
docker run -d --name my-ghost -p 2368:2368 ghost

Securely store all your site credentials on your own server.

docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest

Configure a simple SMTP relay for sending system notifications.

docker run -d -p 25:25 -e SMTP_SERVER=smtp.gmail.com catatnight/postfix

Access your VPS shell through any web browser securely.

docker run -it -p 8080:8080 dit4c/gotty-base

Add a high-speed search bar to your websites like eSIMFree.

docker run -d -p 7700:7700 getmeili/meilisearch:latest
docker run -d --name gitea -p 3000:3000 -p 222:22 gitea/gitea:latest
docker run -d -p 80:80 -v /data:/var/lib/dav/data bytemark/webdav
docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

Build custom admin dashboards for your sites quickly.

docker run -d --name appsmith -p 80:80 -v "$(pwd)/stacks:/appsmith-stacks" appsmith/appsmith-ce

Run an automated script that checks for dozens of common best-practices around deploying Docker in production.

docker run --rm -it --net host --pid host --userns host --cap-add net_admin --security-opt seccomp=unconfined \
    -v /etc:/etc:ro -v /usr/bin/docker-containerd:/usr/bin/docker-containerd:ro -v /usr/bin/docker-runc:/usr/bin/docker-runc:ro \
    -v /usr/lib/systemd:/usr/lib/systemd:ro -v /var/lib/docker:/var/lib/docker:ro -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --label docker_bench_security docker/docker-bench-security

Visualize your VPS metrics with beautiful, real-time dashboards.

docker run -d --name=grafana -p 3000:3000 grafana/grafana

A powerful platform for managing and searching through gigabytes of container logs.

docker run -d --name graylog -p 9000:9000 -p 12201:12201/udp graylog/graylog:5.0
docker run -d -p 8086:8086 --name influxdb influxdb:latest

Scale your application logic with a reliable message broker.

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

Deploy the world's most popular search and analytics engine.

docker run -d --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.0.0
docker run -d --name kibana --link elasticsearch:elasticsearch -p 5601:5601 kibana:8.0.0

Create your own AWS S3-compatible object storage on your VPS.

docker run -d -p 9000:9000 -p 9001:9001 --name minio -v /mnt/data:/data minio/minio server /data --console-address ":9001"
docker run -d --name kafka -p 9092:9092 apache/kafka:latest
docker run -d --name memcached -p 11211:11211 memcached:alpine

Host your own GitLab runner to execute private CI/CD pipelines.

docker run -d --name gitlab-runner --restart always -v /var/run/docker.sock:/var/run/docker.sock -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest

The industry standard for cloud-native dynamic reverse proxying.

docker run -d -p 8080:8080 -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock traefik:v2.10
docker run -d --name couchdb -p 5984:5984 -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=pass couchdb:latest

Secure, store, and tightly control access to tokens, passwords, and certificates.

docker run -d --name vault -p 8200:8200 hashicorp/vault

The fastest way to share data and analytics inside your company.

docker run -d -p 3000:3000 --name metabase metabase/metabase
docker run -d --name verdaccio -p 4873:4873 verdaccio/verdaccio

Automated code review for security and code smell detection.

docker run -d --name sonarqube -p 9000:9000 sonarqube:lts-community

Self-host the Open Source Firebase alternative for your mobile apps.

docker run -d --name supabase-db -p 5432:5432 supabase/postgres:latest
docker run -d -p 8055:8055 directus/directus:latest

Self-host your workflow automation. A powerful open-source Zapier alternative.

docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n

Centralized Single Sign-On (SSO) for your applications.

docker run -d --name keycloak -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=pass quay.io/keycloak/keycloak:latest start-dev