Posredovanje vrat v Dockerju je postopek, ki nam omogoča, da izpostavimo vrata vsebnika v gostiteljskem sistemu Docker. Omogoča nam, da aplikacijo izvajamo v izoliranem okolju in jo naredimo dostopno zunaj vsebnika na uporabniškem računalniku.
Ta objava bo pokazala:
- Kako posredovati vrata v Dockerju z uporabo oznake »-p« ali »–publish«.
- Kako posredovati vrata v Dockerju s pomočjo Docker Compose
- Kako posredovati vrata v določeno omrežje
- Zaključek
Kako posredovati vrata v Dockerju z uporabo oznake »-p« ali »–publish«.
Za posredovanje vrat v Dockerju mora uporabnik objaviti vrata vsebnika na gostitelju Docker. V ta namen zaženite vsebnik na priklopnem gostitelju s pomočjo » -str « ali » – objaviti ' oznaka v ' docker run ” ukaz.
Za pravilno predstavitev sledite spodnjim navodilom.
1. korak: Ustvarite Dockerfile
Najprej ustvarite datoteko in ji nastavite ime kot ' Dockerfile ”. Ta datoteka vsebuje besedilna navodila za ustvarjanje predloge vsebnika Docker. Na primer, dockerizirajmo preprost program Golang z uporabo spodnjega izrezka v datoteki Dockerfile:
IZ golanga: 1.8
DELOVNI DIR / pojdi / src / aplikacija
KOPIRAJ main2.go.
RUN go build -O spletni strežnik.
IZPOSTITE 8080
CMD [ './spletni strežnik' ]
V danem delčku:
- “ OD ” Ukaz se uporablja za nastavitev osnovne slike.
- “ DELOVNI DIR ” definira delovni imenik vsebnika.
- “ KOPIRATI ” bo ustvaril kopijo programske datoteke na poti, določeni v vsebniku.
- “ TECI ” bo izvedel navedeni ukaz v vsebniku.
- “ IZPOSTITE ” ukaz določa vrata, kjer bo vsebnik poslušan.
- “ CMD ” določa izvršljive točke vsebnika.
2. korak: Ustvarite program Golang
Nato ustvarite drugo datoteko z imenom ' main2.go ' in prilepite spodnji program Golang, ki natisne preprost niz na vrata ' 8080 ”:
glavni paket
uvoz (
'fmt'
'dnevnik'
'net/http'
)
upravljalnik funkcij ( notri http.ResponseWriter, r * http.Zahteva ) {
html := `
DOCTYPE html >
< html >
< glavo >
< naslov > Pozdravljen Golang ! naslov >
< stil >
telo {
Barva ozadja: #D2B48C;
}
.posoda {
poravnava besedila: sredina;
oblazinjenje: 50px;
}
stil >
glavo >
< telo >
< div razred = 'posoda' >
< h1 > zdravo ! Dobrodošli v vadnici LinuxHint h1 >
div >
telo >
html >`
w.Glava ( ) .Set ( 'Vrsta vsebine' , 'besedilo/html' )
fmt.Fprint ( notri , html )
}
glavna funkcija ( ) {
http.HandleFunc ( '/' , vodja )
log.Usodno ( http.ListenAndServe ( '0.0.0.0:8080' , nič ) )
}
3. korak: Ustvarite posnetek vsebnika
Zdaj ustvarite posnetek za vsebnik iz zgoraj določene datoteke Docker. V ta namen se najprej pomaknite do imenika, kjer je bila ustvarjena datoteka Dockerfile z uporabo ' cd
Nato ustvarite novo sliko vsebnika z danim ukazom:
gradnjo dockerja -t golang-img.
Podan rezultat kaže, da je slika ustvarjena v skladu s podanim kontekstom gradnje.
4. korak: Posredujte vrata gostitelja do vrat vsebnika
Zdaj izvedite vsebnik in posredujte gostiteljska vrata v vsebniška vrata za dostop do aplikacije dockerize zunaj vsebnika na lokalnem računalniku. V ta namen zaženite “docker run –name
Tukaj je ' -str ” se uporablja za objavo vrat za izvajanje vsebnika na gostitelju dockerja:
5. korak: Preverjanje
Za preverjanje si oglejte delujoče vsebnike z uporabo » docker ps ”:
docker psV spodnjem rezultatu kontejnerska aplikacija posluša razpoložljive omrežne vmesnike ' 0.0.0.0 ' na objavljenih vratih ' 8080 ”. To pomeni, da so vrata posredovana delujoči aplikaciji na gostiteljskem računalniku:
Zdaj zaženite brskalnik in se pomaknite do » http://localhost:8080/ « in preverite, ali je uporabljena tehnika posredovanja vrat ali ne in ali je aplikacija v vsebniku dostopna zunaj vsebnika v gostiteljskem sistemu:
Tukaj smo vrata gostitelja uspešno posredovali vratim vsebnika in aplikacija je dostopna na gostitelju dockerja.
Kako posredovati vrata v Dockerju s pomočjo Docker Compose
Za posredovanje vrat vsebnika gostitelju za dostop do aplikacije v vsebniku zunaj vsebnika lahko uporabnik uporabi » pristanišče ” v datoteki yaml za sestavljanje. Docker compose je storitev Docker, ki nam omogoča izvajanje različnih storitev in aplikacij v različnih vsebnikih. Uporabljati ' docker-compose.yml ”, lahko uporabnik tudi posreduje vrata vsebnika gostiteljskemu računalniku in ima povezavo aplikacije z zunanjim svetom.
Za ilustracije si oglejte spodnji postopek.
1. korak: ustvarite datoteko za sestavljanje
Najprej ustvarite datoteko z imenom ' docker-compose.yml ” in v datoteko dodajte naslednjo vsebino:
različica: '3'storitve:
splet:
zgraditi:.
vrata:
- 8080 : 8080
V zgornjem izrezku je » pristanišča ” tipka se uporablja za povezavo gostitelja z vrati vsebnika. Tukaj je prva vrednost vrata gostitelja, druga vrednost pa vrata vsebnika.
2. korak: Zaženite aplikacijo
Ko določite navodila v datoteki za sestavljanje, zaženite aplikacijo v vsebniku z uporabo » docker-sestavi ” ukaz:
docker-sestavi
3. korak: Preverjanje
Za preverjanje navedite vsebnike za sestavljanje z uporabo » docker-compose ps ” ukaz:
docker-compose ps -a
Če želite preveriti, ali je vsebnik dostopen na gostiteljskem računalniku, se pomaknite do » http://localhost:8080/ ” URL. Tukaj lahko vidite, da smo učinkovito posredovali vrata vsebnika na gostitelju:
Kako posredovati vrata v določeno omrežje
Za posredovanje vrat vsebnika v določeno omrežje mora uporabnik določiti omrežje, v katerem želi dostopati do vsebnika, z uporabo ' – omrežje ” možnost. Oglejte si dane korake za predstavitev.
1. korak: Ustvarite omrežje
Ustvarite novo omrežje z uporabo » docker network create
Za ogled omrežij Docker uporabite » docker omrežje ls ” ukaz:
docker omrežje lsTukaj smo uspešno ustvarili ' mygo-omrežje ' ki uporablja ' most ” voznik:
2. korak: Map Network
Za zagon in dostop do vsebnika v določenem omrežju s tehniko posredovanja vrat uporabite spodnji ukaz:
docker run -str 8080 : 8080 --omrežje mygo-omrežje golang-imgV danem ukazu je » -str ” objavi vsebnik na določenih vratih navedenega omrežja. Tukaj je ' – omrežje ” se uporablja za definiranje docker omrežja:
Za preverjanje se znova pomaknite do » http://localhost:8080 ” in preverite, ali je vsebnik dostopen v navedenem omrežju ali ne:
Zgornji izhod kaže, da smo vrata vsebnika dejansko posredovali v določenem omrežju.
Opomba: Med uporabo omrežja »gostitelj« uporabniku ni treba objaviti vrat od vsebnika do gostitelja z uporabo » -str « ali » – objaviti ” možnost.
Posreduj vrata v določeno omrežje z uporabo Docker Compose
Dodajte naslednji delček v » docker-compose.yml ' mapa. V spodnjem delčku je » omrežja Tipka ” se uporablja za določitev omrežja:
različica: '3'storitve:
splet:
zgraditi:.
vrata:
- 8080 : 8080
Zdaj zaženite aplikacijo v vsebniku z uporabo » docker-sestavi ” ukaz:
docker-sestavi
Zajeli smo metode za posredovanje vrat v Dockerju.
Zaključek
Za posredovanje vrat v Dockerju za dostop do aplikacije dockerize zunaj vsebnika lahko uporabnik uporabi » -str « ali » – objaviti ' možnost v ' docker run ' ali pa lahko uporabnik uporabi ' pristanišča ” v datoteki za sestavljanje Docker. Za dostop do vsebnika v določenem omrežju lahko uporabnik posreduje vrata vsebnika v omrežju z uporabo » –omrežje