Työkalu, joka paketoi sovelluksen ja kaiken sen tarvitseman konttiin, joka toimii samalla tavalla millä tahansa koneella.
Docker · Työkalut
Docker on avoin alusta sovellusten kehittämiseen, siirtämiseen ja ajamiseen konteissa. Kontti on eristetty ympäristö, jossa on sovellus ja kaikki, mitä se tarvitsee: oikea Node.js- tai Python-versio, kirjastot ja asetukset. Koska kontti sisältää kaiken, sovellus toimii samoin kehittäjän koneella, testipalvelimella ja tuotannossa. Klassinen ongelma "toimii minun koneellani" jää pois.
Dockerin peruskäsitteet ovat image ja kontti. Image on vain luku -muotoinen pohja, jossa on ohjeet kontin luomiseen. Kontti on imagesta käynnistetty, ajossa oleva kopio. Image rakennetaan Dockerfile-tiedostosta, johon kirjoitetaan vaiheittain, mistä pohjasta lähdetään, mitä asennetaan ja millä komennolla sovellus käynnistyy. Valmiit imaget tallennetaan rekisteriin, ja Docker Hub on julkinen rekisteri, josta Docker hakee imaget oletuksena. Docker Compose on työkalu, jolla käynnistetään usean kontin sovellus, esimerkiksi web-sovellus ja tietokanta yhdessä.
Vibekoodauksessa Dockeria tarvitaan yleensä vasta, kun sovellus julkaistaan omalle palvelimelle tai siihen kuuluu useita palveluita. Vercelin ja Netlifyn kaltaiset palvelut hoitavat ajoympäristön puolestasi, joten niissä Dockeria ei tarvita. Tekoäly kirjoittaa Dockerfilen hyvin, kun kerrot kielen, kehyksen ja käynnistyskomennon. Tarkista, ettei .env-tiedosto tai muita salaisuuksia kopioidu imageen: lisää ne .dockerignore-tiedostoon.
Docker on työkalu, jolla sovellus paketoidaan konttiin yhdessä kaiken sen tarvitseman kanssa. Kontti toimii samalla tavalla kehittäjän koneella ja palvelimella, joten ympäristöjen erot eivät riko sovellusta.
Image on vain luku -muotoinen pohja, jossa on ohjeet kontin luomiseen. Kontti on imagesta käynnistetty, ajossa oleva kopio. Samasta imagesta voi käynnistää monta konttia.
Et välttämättä. Jos julkaiset sovelluksen Verceliin tai muuhun palveluun, joka hoitaa ajoympäristön, Dockeria ei tarvita. Se on hyödyllinen, kun julkaiset omalle palvelimelle tai sovellukseen kuuluu useita palveluita, kuten erillinen tietokanta.
FROM node:20 aloittaa Dockerfilen valmiista Node.js-imagesta
docker build -t sovellus . rakentaa imagen nykyisen kansion Dockerfilestä
docker run -p 3000:3000 sovellus käynnistää kontin ja avaa portin 3000
docker-compose.yml käynnistää web-sovelluksen ja PostgreSQL-tietokannan yhdellä komennolla
.dockerignore estää node_modules-kansion ja .env-tiedoston päätymisen imageen
"Kirjoita tälle Next.js-sovellukselle Dockerfile, joka tekee mahdollisimman pienen tuotantoimagen"
Tutustu kaikkiin vibekoodauksen termeihin.