Interviewfragen zu Docker und CI/CD (Junior) mit Antworten

75 Fragen fürs Vorstellungsgespräch zu Docker und CI/CD (Junior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.

Diesen Test machen
  1. 1.Wie unterscheidet sich ein Container von einer virtuellen Maschine?
  2. 2.Was ist der Unterschied zwischen einem Image und einem Container?
  3. 3.Was ist ein Dockerfile?
  4. 4.Was macht FROM node:22-alpine in einem Dockerfile?
  5. 5.Was ist der Unterschied zwischen RUN und CMD?
  6. 6.Wie hängt ENTRYPOINT mit CMD zusammen?
  7. 7.Warum bevorzugt man meist COPY gegenüber ADD?
  8. 8.Was macht WORKDIR /app?
  9. 9.Macht EXPOSE 3000 in einem Dockerfile den Port vom Host aus erreichbar?
  10. 10.Was bedeutet docker run -p 8080:3000 my-app?
  11. 11.Wie sieht man gestoppte Container zusätzlich zu laufenden?
  12. 12.Wie liest man die Ausgabe eines laufenden Containers?
  13. 13.Wie öffnet man eine Shell in einem laufenden Container?
  14. 14.Warum beendet sich ein Container direkt nach dem Start?
  15. 15.Was passiert mit Dateien, die in einem Container geschrieben wurden, wenn man ihn entfernt?
  16. 16.Was ist der Unterschied zwischen einem Volume und einem Bind Mount?
  17. 17.Wofür ist .dockerignore da?
  18. 18.Warum kopiert man package.json und die Lockfile vor dem restlichen Quellcode?
  19. 19.Was bedeutet das Tag latest?
  20. 20.Was ist in docker build -t my-app . der .?
  21. 21.Was ist eine Container-Registry?
  22. 22.Was ist der Unterschied zwischen ARG und ENV?
  23. 23.Wofür nutzt man Docker Compose?
  24. 24.Wie verbindet sich in Compose der Service app mit dem Service db?
  25. 25.Wartet depends_on: [db], bis die Datenbank Verbindungen annimmt?
  26. 26.Was macht docker compose down -v zusätzlich zu down?
  27. 27.Worauf verweist localhost innerhalb eines Containers?
  28. 28.Was macht docker stop?
  29. 29.Was ist der Unterschied zwischen docker rm und docker rmi?
  30. 30.Deine Platte ist voller alter Docker-Daten. Was ist ein üblicher Befehl zum Aufräumen?
  31. 31.Wie übergibt man beim Start eines Containers eine Umgebungsvariable?
  32. 32.Was macht --rm in docker run --rm my-app?
  33. 33.Was ist ein häufiger Stolperstein bei Alpine-basierten Images?
  34. 34.Warum sollte man eine .env-Datei mit Geheimnissen nicht in ein Image kopieren?
  35. 35.Was macht -d in docker run -d nginx?
  36. 36.Was bringen die Flags -it?
  37. 37.Was macht --restart unless-stopped?
  38. 38.Was fügt eine Anweisung HEALTHCHECK einem Container hinzu?
  39. 39.Was ist Continuous Integration (CI)?
  40. 40.Was ist der Unterschied zwischen Continuous Delivery und Continuous Deployment?
  41. 41.Was macht eine typische CI/CD-Pipeline der Reihe nach?
  42. 42.Warum lässt man die CI bei jedem Pull Request laufen?
  43. 43.Wo liegen die Workflow-Dateien von GitHub Actions?
  44. 44.Was ist in GitHub Actions der Unterschied zwischen einem Job und einem Step?
  45. 45.Was legt runs-on: ubuntu-latest fest?
  46. 46.Was macht der Step uses: actions/checkout@v4?
  47. 47.Was definiert on: [push, pull_request] in einem Workflow?
  48. 48.Wie sollte ein Workflow für ein Deployment auf ein API-Token zugreifen?
  49. 49.Warum nutzt man in der CI npm ci statt npm install?
  50. 50.Was beschleunigt das Cachen von Abhängigkeiten in der CI?
  51. 51.Was sind Workflow-Artefakte?
  52. 52.Was passiert standardmäßig, wenn ein Step in einem Job scheitert?
  53. 53.Wie lässt man einen Deploy-Job auf den Test-Job warten?
  54. 54.Was macht eine Build-Matrix?
  55. 55.Welche Datei konfiguriert GitLab CI/CD?
  56. 56.Warum hält man Konfiguration wie Datenbank-URLs in Umgebungsvariablen?
  57. 57.Wofür ist eine Staging-Umgebung da?
  58. 58.Was ist ein Rollback?
  59. 59.Was ist ein Blue-Green-Deployment?
  60. 60.Was bedeutet „Build once, deploy many“?
  61. 61.Warum pinnt man FROM node:22.11-slim statt FROM node?
  62. 62.Warum ist die Image-Größe wichtig?
  63. 63.Sollte die .env-Datei mit lokalen Geheimnissen in Git eingecheckt werden?
  64. 64.Was ist eine Pflicht-Statusprüfung (Required Status Check)?
  65. 65.Was ist ein Flaky Test?
  66. 66.Wie kann eine Pipeline nur veröffentlichte Versionen deployen?
  67. 67.Als welcher Nutzer läuft der Prozess eines Containers standardmäßig?
  68. 68.Was zeigt docker inspect <container>?
  69. 69.Warum können sich zwei Container im Standard-Bridge-Netzwerk nicht per Name erreichen?
  70. 70.Wie verfolgt man die Logs aller Services eines Compose-Projekts?
  71. 71.docker run -p 5432:5432 postgres scheitert mit „port is already allocated“. Warum?
  72. 72.Wie werden die Schichten eines Images und die Änderungen eines Containers gespeichert?
  73. 73.Wie führt Docker Desktop Linux-Container unter macOS oder Windows aus?
  74. 74.Was macht docker build --no-cache?
  75. 75.Was ergänzt docker compose up --build gegenüber up?