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