#Dev container
Kursens utvecklingsmiljö är en dev container: en Docker container med verktygen vi använder i kursen, med bestämda versioner. Alla får då samma miljö och du slipper installera och versionshantera verktygen själv. Konfigurationen följer med i Microblog repot, i mappen .devcontainer.
#Det här behöver du på din dator
- En terminal. Windows använder WSL med Ubuntu, se avsnittet Terminal ovan.
- Git.
- Docker. (På Windows måste Docker Desktop vara igång när du jobbar).
- Visual Studio Code med tillägget Dev Containers.
Allt annat finns i containern.
#Starta dev containern
- Klona ditt repo. På Windows klonar du inuti WSL, inte på C: disken. Containern monterar repot på samma sökväg som på din dator, och det fungerar inte med en Windows sökväg.
- Öppna mappen i VS Code. Om du använder WSL, öppna den från WSL terminalen med
code .. - Välj “Reopen in Container” när VS Code frågar, eller kör
Dev Containers: Reopen in Containeri kommandopaletten.
Första gången tar det några minuter. Då byggs imagen och Python paketen installeras. Terminalen i VS Code körs i containern, kör alla kommandon i kursen där.
#Vad finns i containern
- Python 3.11, med en virtuell miljö i mappen
venv. Python paketen installeras dit första gången containern skapas (make install-dev): paketen för att köra testerna, Ansible med ansible-lint och Azure paketen Ansible använder. - Docker CLI, Buildx och Compose. Du kan använda både
docker composeochdocker-compose. - Git, make och en ssh klient.
- Azure CLI (
az) för kmom02 och framåt. Inloggningen sparas mellan ombyggnader. kubectlochhelmför kmom05. Konfigurationen till klustret sparas mellan ombyggnader.
Ändras filerna i requirements/ (till exempel en ny Ansible version) räcker det inte att bygga om containern, kör också make install-dev.
De exakta versionerna står i .devcontainer/devcontainer.json. Containern har verktygen för hela kursen. Om vi uppdaterar den under kursen säger kursmomentets text det, och då bygger du om containern med kommandot Dev Containers: Rebuild Container.
#Så fungerar det
- Docker: containern använder Docker på din dator. Containrar du startar körs därför på din dator, inte inuti dev containern. Öppna dem i webbläsaren på
localhost:<port>.curl localhost:<port>i terminalen inuti dev containern når dem inte. - Filer: du är användaren
devi containern, inte root. Filer du skapar i repot ägs av dig, även på din dator. - Ssh nycklar: mappen
~/.sshpå din dator finns också i containern. Då fungerargit pushöver ssh och nycklarna du skapar i containern finns kvar.
#Om något inte fungerar
The command 'docker' could not be found in this WSL 2 distroi WSL: öppna Docker Desktop, gå till Settings, Resources, WSL integration och slå på integrationen för din distro.- Containern startar inte eller verkar gammal: kör
Dev Containers: Rebuild Container. - Det går inte att nå appen med
curl: använd webbläsaren på din dator, se “Så fungerar det” ovan. - Fungerar inte dev containern alls kan du använda reservlösningen nedan.
#Revision history
- 2026-10-08: (A, aar) Första versionen.