2026-02-21 18:25:57 +00:00
2026-02-21 18:25:57 +00:00
2026-02-15 17:18:12 +00:00
2026-02-15 17:18:12 +00:00
2026-02-15 17:18:12 +00:00
2026-02-15 17:18:12 +00:00
2026-02-15 17:18:12 +00:00
2025-12-07 09:44:04 +00:00

Python Project Template

Template pre Python projekt s Dev Container workflow, kde sa devcontainer image taha z registry a nebuildi sa pri kazdom otvoreni.

Co projekt obsahuje

  • devcontainer konfiguraciu (.devcontainer/devcontainer.json)
  • compose definiciu pre devcontainer (.devcontainer/docker-compose.yml)
  • centralne nastavenie verzie Pythonu a image tagov (.devcontainer/.env)
  • skript na build/push devcontainer image (scripts/publish-devcontainer-image.ps1)
  • VS Code tasky na build/push (.vscode/tasks.json)
  • vzorovy Dockerfile pre aplikaciu (Dockerfile)

Centralne nastavenie verzie a repo

Vsetko sa riadi cez .devcontainer/.env:

  • PYTHON_BASE - verzia Pythonu pre devcontainer image
  • DEVCONTAINER_IMAGE_PULL_REPO - odkial sa image taha pri otvoreni devcontainera (napr. docker.masara.eu/python)
  • DEVCONTAINER_IMAGE_PUSH_REPO - kam sa image pushuje pri publikovani (napr. repo.masara.eu/python)
  • DEVCONTAINER_IMAGE_REV - revizia image (napr. 0.1)

Build a publish devcontainer image

Predpoklady:

  • Docker je nainstalovany a bezi
  • mas pristup do push registry (repo.masara.eu)

Cez VS Code task

  1. Spusti task devcontainer: build and push image.
  2. Task zavola skript scripts/publish-devcontainer-image.ps1 -Push.

Cez terminal

# iba build
powershell -ExecutionPolicy Bypass -File scripts/publish-devcontainer-image.ps1

# build + push
powershell -ExecutionPolicy Bypass -File scripts/publish-devcontainer-image.ps1 -Push

Poznamka:

  • Ak docker push zlyha (napr. neautorizovany pristup), skript spravi fallback docker login <registry> a push zopakuje este raz.

Pouzitie pri vytvoreni/otvoreni projektu

  1. Naklonuj alebo vytvor projekt z tejto sablony.
  2. Nastav hodnoty v .devcontainer/.env (hlavne PYTHON_BASE, pull/push repo, revision).
  3. Ak menis base image (napr. Python verziu), publikuj novu verziu devcontainer image do push registry.
  4. Otvor projekt vo VS Code a pouzi Reopen in Container.

Devcontainer sa spusti z image definovaneho v .devcontainer/docker-compose.yml:

  • image sa taha z DEVCONTAINER_IMAGE_PULL_REPO
  • workspace je pripojeny bind mountom do /workspace
  • postCreateCommand vytvori .venv a nainstaluje zavislosti z requirements.txt

Bezne scenare

  • Chcem iba zmenit Python verziu:

    1. Zmen PYTHON_BASE v .devcontainer/.env.
    2. Spusti devcontainer: build and push image.
    3. Vo VS Code daj Rebuild/Reopen in Container.
  • Chcem zmenit iba aplikacny kod:

    • Nerebuildi sa devcontainer image, staci reopen/restart kontajnera podla potreby.
Description
Template projektu pre Python 3.13 v devcontaineri
Readme 40 KiB
Languages
Dockerfile 67.8%
Shell 30.8%
Python 1.4%