Deine .bashrc
Deine .bashrc Datei ist ein Skript, das jedes mal bei deinem Shellzugriff aufgerufen wird. Hier kannst du verschiedene Werte setzen & Dein Leben dadurch leichter machen. Wir werden am Beispiel django jetzt Skripte für dein Projekt entwickeln, die dir den Start deines Projekts erleichtern. Außerdem werden wir deinen python manage.py migrate
Befehl in einem Container absetzen, das erleichtert dir das Leben bei einem ganz schön langen Befehl.
Skripte anlegen
Lege bei dir in der Repository auf dem Level deines docker-compose.yml
folgende Dateien an:
touch run.bash migrate.bash
chmod +x run.bash migrate.bash
Folgenden Inhalt brauchen deine Skripte:
run.bash
Hier kannst du deinen Start-Befehl mit allen Optionen einfügenIch nutze -f, wegen dem speziellen Dateinamen mit --build Baue Ich die images neu vor Containerstart
#!/bin/bash
docker compose -f docker-compose.development.yml up --build
migrate.bash
Mit exec -it container_name sh -c
können wir unseren migrate Befehl absetzen. Alles in Anführungszeichen wird direkt im Container ausgeführt.
docker exec -it meine_app sh -c "python manage.py makemigrations && python manage.py migrate"
Weil wir den container namen in der migrate.bash
nutzen, muss du jetzt noch deine docker-compose Datei anpassen:
services:
meine_app:
# wir nutzen den Container Namen in migrate.bash
container_name: meine_app
Skripte in der .bashrc hinzufügen
Füge deine Skripte deiner .bashrc (oder bei mac .zshrc) Hinzu. Die .bashrc / .zshrc befinden sich in deinem home - Verzeichnis.
code ~/.bashrc
vi ~/.bashrc
Wenn du nun "run" als App-Startbefehl nutzen willst und "migrate" als migrierbefehl, kannst du Folgendes hinzufügen:
# selfmade build and run scripts
alias run="./run.bash"
alias migrate="./migrate.bash"
Du kannst natürlich deine Skripte anders nennen, und den Befehl zum ausführen der Skripte auch... Es macht aber Sinn, wenn du mehrere Projekte starten / migrieren musst, den Befehl einheitlich zu halten.
Jetzt kannst du nämlich in jedem Projekt ein run.bash hinzufügen. Solange der name des Skriptes "run.bash" bleibt, reicht es jetzt run
auszuführen - Deine App startet.
Du kannst den Skriptinhalt auch verändern, wenn du bei unterschiedlichen Projekten deine App verschieden Starten willst.
Happy Coden!
Dein Ruben
Top comments (0)