{"id":19553857,"url":"https://github.com/blankscreen-exe/docker-practice","last_synced_at":"2026-02-11T13:34:02.501Z","repository":{"id":197567234,"uuid":"698869353","full_name":"Blankscreen-exe/docker-practice","owner":"Blankscreen-exe","description":"practice with docker. A learning repo for all","archived":false,"fork":false,"pushed_at":"2024-12-24T12:51:37.000Z","size":915,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:30:35.383Z","etag":null,"topics":["docekr-client","docekrized","docker","docker-compose","docker-container","docker-image","docker-registry","dockerfile","dockerhub"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blankscreen-exe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-01T08:15:24.000Z","updated_at":"2024-12-24T12:51:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"85c233ee-153b-486e-bd12-af6da50cfa30","html_url":"https://github.com/Blankscreen-exe/docker-practice","commit_stats":null,"previous_names":["blankscreen-exe/docker-practice"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Blankscreen-exe/docker-practice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2Fdocker-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2Fdocker-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2Fdocker-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2Fdocker-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blankscreen-exe","download_url":"https://codeload.github.com/Blankscreen-exe/docker-practice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blankscreen-exe%2Fdocker-practice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29333562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T12:42:24.625Z","status":"ssl_error","status_checked_at":"2026-02-11T12:41:23.344Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docekr-client","docekrized","docker","docker-compose","docker-container","docker-image","docker-registry","dockerfile","dockerhub"],"created_at":"2024-11-11T04:24:56.241Z","updated_at":"2026-02-11T13:34:02.487Z","avatar_url":"https://github.com/Blankscreen-exe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Alt text](./docs/assets/img/title.png)\n\n# Docker Practice\n\nMy practice with docker where I try out all sorts of things. This repository contains byte-sized tutorials revolving around `Docker`.\n\nYou can learn from it as well since I have categorized everything and have written clean code. Everything in there is well-documented.\n\n\u003e 📌 Each tutorial will be found inside a separate folder (with prefix `000.` where `000` can by any number)\n\n[![link_to_webpage](./docs/assets/img/web_link.png)](https://blankscreen-exe.github.io/docker-practice/)\n\n# Contribution Guidelines\n\nIf you are willing to contribute to this repository by submitting your own tutorial, make sure you have fulfilled the following points:\n\n\u003c!--contribution-guidelines-start--\u003e\n- [x] Tutorial title starts with a 3-digit serial number followed by a dot(.), then a space, then the title. e.g. `001. dockerize a simple script`.\n- [x] Tutorial folder name should have all lowercase letters.\n- [x] Tutorial name and serial number in the main README, README inside the tutorial folder and in the folder name, should all be *same*.\n- [x] README.md inside the project folder should be based on the template provided in the `/template/README.md`.\n- [x] Tags should be relevant to the tutorial you are submitting. These tags will only be written inside of the root README.md.\n- [x] Tutorial should contain a detailed `README.md` inside the project folder.\n- [x] In case your tutorial requires images to be shown, you can put them inside `000. tutorial/docs/img` folder present inside the project folder. DO NOT put them in the root `/docs` folder.\n- [x] Tutorial should contain all the supporting files which you are using in the demonstration. \n- [x] Tutorial should be about Docker and related technologies, such as Kubernetes. Any tutorial other than docker will be rejected.\n\u003c!--contribution-guidelines-end--\u003e\n\n# Index\n\n\u003c!-- \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e --\u003e\n\u003c!-- \u003cspan title=\"WIP\"\u003e🟡\u003c/span\u003e --\u003e  \n\u003c!-- \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e --\u003e\n\n\u003c!--tutorials-table-start--\u003e\n| Id | Status | Topic | Tags |\n|----|----|----|----|\n| 001 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Dockerize a simple script](./001.%20dockerize%20a%20simple%20script/) | `Generic` |\n| 002 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Run and connect to a Postgres instance](./002.%20run%20and%20connect%20to%20a%20Postgres%20instance/)   | `Generic`, `Hosting`, `DB` |\n| 003 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Run and connect to a Redis instance](./003.%20run%20and%20connect%20to%20a%20Redis%20instance/) | `Generic`, `Hosting`, `Redis` |\n| 004 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Generate app logs outside of the container](./004.%20generate%20app%20logs%20outside%20of%20the%20container/) | `Generic`, `Logging` |\n| 005 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Host an existing Wordpress project](./005.%20host%20an%20existing%20wordpress%20project/) | `Hosting`, `Wordpress`, `DB`, `DB Client` |\n| 006 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Use VSCode inside a Docker container for development](./006.%20use%20VSCode%20inside%20a%20docker%20container%20for%20development/) | `Virtual IDE`, `VSCode` |\n| 007 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Host a CyberChef Instance](./007.%20host%20a%20cyberchef%20instance/) | `CyberChef`, `Tool` |\n| 008 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Create a persistent data storage area to store backup files](./008.%20create%20a%20persistent%20data%20storage%20area%20to%20store%20backup%20files/) | `Generic`, `Volume`, `Binding` |\n| 009 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Set up a highly available Kubernetes cluster]() | `Generic`, `Kubernetes` |\n| 010 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Implement container security]() | `Generic`, `Security` |\n| 011 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Create Multi-Stage Builds]() | `Generic`, `Multi-stage builds` |\n| 012 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Audit docker security]() | `Generic`, `Security`, `Audit` |\n| 013 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Create a Sample CI/CD pipeline]() | `Generic`, `CI/CD` |\n| 014 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Host a Team Password Manager for secure pass-keeping]() | `Hosting`, `Secrets` |\n| 015 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Host a simple HTML website]() | `Generic`, `Hosting`, `HTML site` |\n| 016 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Manage Secrets using Vault container]() | `Hosting`, `Secrets` |\n| 017 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Host URL shortener with yourls]() | `Hosting`, `Url shortener` |\n| 018 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Host CMS with backdrop]() | `Hosting`, `CMS` |\n| 019 | \u003cspan title=\"WIP\"\u003e🟡\u003c/span\u003e         | [Host Tor browser within a browser](./019.%20host%20tor%20browser%20within%20a%20browser/) | `Hosting`, `Browser` |\n| 020 | \u003cspan title=\"WIP\"\u003e🟡\u003c/span\u003e         | [Create a complete Tor Onion Service with Docker and OpenSUSE]() | `Hosting`, `Browser`, `Network` |\n| 021 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Create your own VPN server with WireGuard in Docker]() | `Hosting`, `VPN`, `Network` |\n| 022 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Run Ubuntu GUI from inside a container]() | `OS`, `GUI` |\n| 023 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Start a brand new WordPress project with other utilities](./023.%20start%20a%20brand%20new%20wordpress%20project%20with%20other%20utilities/) | `Hosting`, `Wordpress`, `DB Client`, `DB` |\n| 024 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Deploy HAProxy instance that Load Balances TCP connections to 2 Nginix servers]() | `Server`, `Load Balancing`, `Network`, `Proxy` |\n| 025 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Host KASM browser-accessible Ubuntu Bionic Desktop]() | `Hosting`, `Server`, `OS` |\n| 026 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Use FluentD to manage container logs]() | `Logging` |\n| 027 | \u003cspan title=\"Done\"\u003e🔵\u003c/span\u003e        | [Host Two Or More Websocket Apps And Establish Communication Between Them](./027.%20host%20two%20or%20more%20websocket%20apps%20and%20establish%20communication%20between%20them/) | `Websocket`, `Hosting`, `Networking` |\n| 028 | \u003cspan title=\"Not Started\"\u003e🔴\u003c/span\u003e | [Deploy a personal blockchain network]() | `Hosting`, `Blockchain`, `Networking` |\n\u003c!--tutorials-table-end--\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankscreen-exe%2Fdocker-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblankscreen-exe%2Fdocker-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblankscreen-exe%2Fdocker-practice/lists"}