Dockerize Rails Application

Hur dockeriserar man en befintlig Rails-applikation?

En nyfiken utvecklare och teknikentusiast, missa aldrig ett tillfälle att lära dig något nytt varje dag! Denna lust att lära är något VI kan relatera till. I det här inlägget visar vi dig hur man dockeriserar en rails-applikation med hjälp av Rails Docker Compose. Vi behöver Docker, så du borde veta vad det är och varför det är nödvändigt.

Låt oss komma igång med apputveckling och dockerisering.

Vad är Docker?

Använder sig av Hamnarbetare, kan du paketera en tjänst eller applikation med alla dess beroenden till en standardiserad enhet. En Docker-bild används vanligtvis för denna typ av enhet.

Alla komponenter som behövs för att köra applikationen ingår. Docker-bilder innehåller kod, körtider, bibliotek och allt annat du skulle installera på en server för att få dem att köras utan Docker.

Vad som skiljer Docker från en virtuell maskin

Du kan ha kört en virtuell maskin med Vagrant, VirtualBox eller VMWare. Trots att de kan isolera tjänster är virtuella maskiner mycket mindre effektiva på grund av några betydande skillnader.

För varje applikation du vill isolera behöver du ett helt gästoperativsystem. Virtuella maskiner kan också ta många sekunder att starta upp, och var och en kan vara upp till en gigabyte stor.

En Docker-behållare delar din värds kärna och isolering uppnås via grupper och andra kärnbibliotek. Som ett resultat av Dockers lätta natur startas en behållare vanligtvis på några millisekunder, och den kräver inte mycket diskutrymme för att köras.

Vad är slutsatsen?

Skulle det inte vara bra om du kunde utveckla din Rails ansökan på din arbetsstation isolerat utan att använda RVM eller Chruby, och det var enkelt att ändra Ruby-versioner?

Skulle det inte vara bra om du kunde isolera allt du behövde för vart och ett av dina 10 Rails-projekt utan att slösa bort dyrbar SSD-lagring?

Skulle det inte vara bra om du kunde snurra upp din Rails-, PostgreSQL-, Redis- och Sidekiq-stack på bara några sekunder?

Kan du föreställa dig om du kunde dela ditt projekt på GitHub och annat utvecklare kan allt köras på några minuter genom att bara köra ett kommando?

Tack vare Docker är alla dessa saker möjliga.

Fördelarna med att använda Docker

If Docker erbjuder fem viktiga fördelar som kommer att förbättra din mjukvaruutvecklingsproduktivitet och övergripande upplevelse:

1. Konsekvens över miljöer

Din applikation kan kapslas in med Docker så att den enkelt kan flyttas mellan miljöer. Alla miljöer och maskiner som kan köra Docker kommer att kunna köra det.

2. Enkla sätt att utöka ditt utvecklingsteam

En ny utvecklare ska inte behöva läsa ett 30-sidigt dokument för att lära sig hur du kör din applikation lokalt. Nya utvecklare kommer sannolikt att göra misstag under denna process, vilket kan ta hela dagen eller längre.

Du kan automatisera, repeterbara och effektivt distribuera din multitjänstapplikation i ditt team med Docker. Några kommandon senare fungerar allt.

3. Välj en teknik som passar dina behov

Du kan missgynna dig själv som startup eller butik som bara använder ett språk. Du kan experimentera med nya språk och ramverk som utvecklare genom att isolera en applikation i en Docker-behållare.

Den teknik du väljer behöver inte längre konfigureras av andra utvecklare. De kan köra en Docker-bild som du ger dem.

4. Distribuera din bild många gånger genom att bygga den en gång

Den förbyggda Docker-bilden gör det möjligt att starta dina applikationer på millisekunder. Skalbarhet är mycket lätt som ett resultat.

Det är bara nödvändigt att köra tidskrävande uppgifter en gång vid byggtiden, som att installera beroenden. Så fort bilden är byggd kan du flytta runt den till olika värdar.

Förutom att göra dina implementeringar mer förutsägbara och motståndskraftiga, hjälper detta dig att skala upp och ner snabbt.

5. Driftledare och utvecklare kan arbeta tillsammans

Utvecklare och driftansvariga kan arbeta tillsammans med Dockers verktygsuppsättning för att distribuera applikationer.

En abstraktion tillhandahålls av Docker. En applikation kan distribueras och ett annat team behöver inte veta hur man konfigurerar eller konfigurerar det.

Dessutom blir det lättare att distribuera Docker-bilder offentligt eller privat. När nya versioner pushas kan du spåra vad som har förändrats.

Förutsättningarna

Docker måste installeras. Du kan köra Docker på de flesta större Linux-distributioner, och det finns verktyg som låter dig köra det på OSX och Windows också.

Linux-användare kommer att dra nytta av denna handledning, men OSX- och Windows-användare kommer att hitta kommentarer när saker och ting behöver justeras.

Docker installation

Du kan följa en av installationsguiderna nedan baserat på ditt operativsystem:

  • Linux: https://docs.docker.com/get-started/
  • Windows och Mac: https://www.docker.com/products/docker-desktop

Det rekommenderas att du har Docker installerat och att du har slutfört hello world-exemplet från en av installationsguiderna ovan innan du fortsätter.

Slutsats

Containeriseringen av en produktion Rails ansökan kommer med ett antal utmaningar, som du säkert är medveten om. Du kan ha samlat på dig ett antal beroenden i takt med att din applikation har växt, vilket gör en migrering som denna utmanande. Det spelar ingen roll om det är en bakgrundsarbetare, ett brev eller en hemlighet, det finns etablerade mönster för att hantera de flesta fallgropar. Lättheten med framtida förändringar och distributioner kommer att göra investeringen värd besväret när det första arbetet med att få en produktionsapplikation att fungera med Docker är klar.

relaterade inlägg

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

sv_SESwedish