Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 9930|Svare: 2

Forskjell mellom dockerfile og docker-compose

[Kopier lenke]
Publisert på 15.11.2019 09:33:13 | | |
Forskjell mellom dockerfile og docker-compose
La oss kort forstå bruksprosessen til docker, som er delt inn i bildebygging og containeroppstart.

Bildekonstruksjon: det vil si å lage et bilde som inneholder miljøet, programkoden osv. som kreves for installasjon og drift. Denne opprettelsesprosessen gjøres ved hjelp av en dockerfile.

Containeroppstart: Containeren kjøres til slutt ved å hente det bygde bildet og starte tjenesten gjennom en serie kjørende instruksjoner (som portkartlegging, ekstern datamontering, miljøvariabler osv.). For en enkelt container kan dette kjøres via docker-kjøring.

Hvis det innebærer å kjøre flere containere (som service orchestration), kan det implementeres gjennom docker-compose, som enkelt kan kjøre flere containere som en tjeneste (selvfølgelig bare én av dem) og gir skaleringsfunksjonen (service scaling).

Kort oppsummering:

1.dockerfile: bygg bildet;

2. Docker-kjøring: Start containeren;

3. docker-compose: Start tjenesten;

Start fra begynnelsen.
Hvis du ikke bruker docker, hvordan bygger du WordPress? Finn en server først, anta at operativsystemet er Ubuntu, og følg deretter dokumentasjonen steg for steg for å skrive kommandoen og skrive konfigurasjonen, ikke sant?
Hva med å bruke docker? Bare finn en server, uansett operativsystem, så lenge den støtter docker, Docker kjører Ubuntu, Docker henter det nyeste Ubuntu-bildet fra den offisielle kilden, du kan tenke på det som at du åpnet en Ubuntu-virtuell maskin, og så installere den steg for steg, akkurat som over.

Denne installasjonen har imidlertid en betydelig ulempe: når beholderen er slettet, får du ikke gjort noe arbeid. Selvfølgelig kan du bruke docker commit for å lagre det som et bilde, slik at det kan gjenbrukes.

Men bildet er som regel stort, og hvis du bare deler bildet, vil andre ikke vite hva bildet ditt inneholder, noe som ikke er gunstig for deling og gjenbruk.
En intuitiv løsning er å skrive et skript for å registrere hele installasjonsprosessen, slik at når du installerer det igjen, kan du kjøre skriptet. En Dockerfile er et slikt skript som dokumenterer prosessen med å lage et bilde.
Med en Dockerfile, kjør bare Docker-build. Du kan lage et bilde, og Dockerfile er en tekstfil som er veldig enkel å endre.

Nå som du har et WordPress-bilde, trenger du bare å kjøre Docker for å få WordPress i gang.

Hvis det bare er WordPress, er det nok. Men ofte trengs flere bilder for å starte en tjeneste, som nginx, mysql, mailtjeneste osv.
Vanligere er nginx, mysql og smtp alle bilder, og så jobber disse bildene sammen for å tjene et prosjekt.
docker-compose er løsningen på dette problemet. Informasjon om hvilke bilder prosjektet ditt trenger, hvordan du konfigurerer hvert bilde, hvilke volumer som skal monteres, og så videre, er inkludert i docker-compose.yml.
For å starte en tjeneste trenger du bare docker-compose up, og du trenger bare docker-compse stop/down for å stoppe den

Kort sagt registrerer en Dockerfile byggeprosessen til et enkelt bilde, docker-compse.yml den registrerer byggeprosessen i et prosjekt (vanligvis flere bilder).

Du sa at noen veiledninger bruker dockerfile+docker-compose fordi docker-compose.yml selv ikke har informasjon om bildebygget, og hvis bildet hentes fra docker-registeret, er dockerfile ikke nødvendig; Hvis bildet må bygges, må en Dockerfile tilbys.

docker-composeDet er en orkestreringsbeholder. For eksempel har du et php-bilde, et mysql-bilde og et nginx-bilde. Hvis det ikke finnes docker-compose, må du hver gang du starter opp skrive inn oppstartsparametrene til hver container, miljøvariabler, containernavn, spesifisere link-parameterne til forskjellige containere, og en rekke operasjoner, noe som er ganske tungvint. Etter å ha brukt docker-composer kan du skrive disse kommandoene i docker-composer.yml fil samtidig, og hver gang du starter hele miljøet (inkludert 3 containere), trenger du bare å skrive en docker-composer up-kommando.

dockerfileRollen er å bygge et speilbilde fra bunnen av. Den inneholder miljøet, programkoden osv. som kreves for installasjon og drift. Denne opprettelsesprosessen gjøres ved hjelp av en dockerfile. Dockerfile – Forberedt for docker build-kommandoen for å lage et frittstående bilde, som også kan brukes i docker-compose for live-bygging
docker-compose.yml - Et skript for docker-compose som kan håndtere flere containere samtidig, inkludert relasjoner mellom dem, enten du skal bygge med et offisielt image eller deg selv, ulike definisjoner av nettverksporter, definisjoner av lagringsplass, osv




Foregående:Mislykket i å registrere URL "http://xx/" for nettstedet "SITE NAME"...
Neste:Docker lagrer bildelokasjonen under Windows-systemet
 Vert| Publisert på 18.12.2022 14:56:50 |
centos installasjon Docker Compose veiledning
https://www.itsvse.com/thread-5164-1-1.html
 Vert| Publisert på 05.03.2025 10:37:33 |
BuildKit er en forbedret backend som erstatter legacy-byggeren. Fra og med versjon 23.0 er BuildKit standardbyggeren for brukere på Docker Desktop og Docker Engine.

Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.

Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com