Projektet bygger på en utvecklingsmiljö med Docker och kräver med andra ord att man redan har Docker installerat på sin dator för att kunna köras. Välj att installera den version av Docker nedan som stämmer överens med ditt operativsystem.
- Kopiera filen
docker-compose-test.yml
som finns på repot till din dator. - Se till att
Docker
ochdocker-compose
är installerat för ditt operativsystem enligt ovan. - Om det inte är första gången du demar projektet, se till att gamla containers och images som hör till projektet är stoppade och borttagna. Om du inte har några andra docker-projekt igång görs detta enkelt med kommandot
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker system prune -a -f --volumes
som stoppar och tar brt alla images och containers på datorn, oavsett projekt. Om du har andra projekt igång måste images och containers listas och tas bort manuellt - Använddocker images
kommandot med-a
flaggan för att hitta ID:t som hör till de images du vill ta bort:docker images -a
. Ta sedan bort alla images som har ordetfuturum
i repository-namnet med kommandotdocker rmi [ID]
. Se också till attmongo
-image:n associerad med projektet tas bort, trots att denna inte innehållerfuturum
i namnet. Ta sedan bort containers. Använddocker ps
kommandot med-a
flaggan för att hitta ID:t som hör till de containers du vill ta bort:docker ps -a
. Ta sedan bort alla containers som har ordetfuturum
i repository-namnet med kommandotdocker rm [ID]
. Se även till att volymerna associerade med mongo-databasen tas bort genom att använda kommandotdocker volume ls
för att hitta alla volymer medfuturum
i namnet och ta bort dem individuellt med kommandotdocker volume rm [volume-name]
. - Kör igång projektet med
docker-compose -f docker-compose-test.yml up -d
, ståendes i foldern som inkluderardocker-compose-test.yml
-filen. - Avvakta någon till några minuter för containrarna att laddas ner och startas upp.
- Applikationen körs nu på
localhost:8080
eller127.0.0.1:8080
. - Applikationen kan användas mot mailen
[email protected]
och behöver godkännas mot den mailen efter uppstart. - När du är klar med demon, stoppa alla containers genom att köra kommandot
docker-compose -f docker-compose-test.yml stop
.
- Om du inte redan har en korrekt uppsatt .env-fil, följ startinstruktionerna för att sätta upp ett projekt hos Google och initiera .env-filen.
- Om det är första gången du kör upp projektet med Docker, börja med att bygga upp alla containers genom att stå i projektets rot-folder och köra kommandot
docker-compose up -d --build
i din terminal.
(Observera att det här kan ta en stund beroende på dator och internetuppkoppling, framför allt att bygga klienten. 'En stund' kan här betyda allt mellan femton minuter och en dryg timme.) - Om du däremot redan har kört projektet tidigare, räcker det att du kör
docker-compose up -d
i terminalen. - Klientapplikationen körs nu på
localhost:8080
och servern körs pålocalhost:8080/node
(om du får fram en sida med 'Bad Gateway', så kan det bero på att containern ännu inte har hunnit starta upp - ha tålamod!). - När du är klar med all utveckling, stoppa alla containers genom att köra kommandot
docker-compose stop
.
*containerName ska alltid ersättas med namnet på den specifika containern (node, client, futurum-db eller reverse-proxy).
docker-compose ps
- Skriver ut en lista med alla containers som körs för tillfället. Är framför allt användbart för att kunna se nuvarande status för alla containrar (om allting körs som det ska, bör status vara Up).docker-compose up -d containerName
- Startar en specifik Docker container.docker-compose stop containerName
- Stoppar en specifik Docker container.docker-compose rm -f containerName
- Tar bort en specifik Docker container.docker-compose logs --tail 50 -f containerName
- Visar de senaste 50 raderna av loggarna för den specifika Docker containern.docker-compose exec containerName sh
- Gå in i en specifik Docker container. Väl inne en container går det att till exempel installera npm paket eller köra automatiska tester.docker rmi $(docker images -q)
- Tar bort alla Docker images som finns på datorn, även de som tillhör andra projekt. Efter det här är gjort kommer projektet att behöva byggas om på nytt.docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker system prune -a -f --volumes
- Det ultimata nödkommandot och en sista utväg när ingenting fungerar som det ska - stoppar och tar bort alla containrar på datorn, även de som inte körs eller som tillhör andra projekt. Tar även bort alla volymer (dvs eventuellt sparat innehåll i databaser). Efter det här är gjort kommer projektet att behöva byggas om på nytt.