„Golang“ programa, skirta veikti kaip „Docker“ konteineris

Golang Programa Skirta Veikti Kaip Docker Konteineris



Šiame vadove mes išmoksime konteinerių sudarymo pagrindus, nustatydami „Golang“ programą, kuri veiktų kaip „Docker“ konteineris. Išmoksime dirbti su Dockerfile, kad sukonfigūruotume visus mūsų programos reikalavimus.

„Go“ yra atvirojo kodo, statiškai spausdinama ir kompiliuota programavimo kalba, kuri garsėja gebėjimu palengvinti paprastos, patikimos ir labai efektyvios programinės įrangos kūrimą. Jis randa naudingų dalykų kuriant įvairias programas, įskaitant žiniatinklio programas, debesies sprendimus, komandų eilutės sąsajas (CLI) ir intriguoja tai, kad net pati „Docker“ sukurta naudojant „Go“.

Mūsų atveju „Go“ kuriame paprastą HTTP serverį, kuris leidžia mums paprastais veiksmais parodyti, kaip sukurti ir „Dockerize“ programą.







Reikalavimai:

Jei norite tęsti šią mokymo programą, jums reikia šių įrankių:



  1. Įdiegtas „Go“ kompiliatorius (reikia 1.21 ir naujesnės versijos)
  2. „Docker Engine“ paleidimas pagrindiniame kompiuteryje
  3. IDE arba teksto rengyklė, skirta programai „Go“ redaguoti. Rekomenduojame naudoti Visual Studio arba Vim
  4. Komandinės eilutės vertėjas, pvz., „Bash“, „ZSH“, „PowerShell“ ir kt.

Įvykdę nurodytus reikalavimus, tęskime ir sužinokime, kaip sukurti programą.



Programos kūrimas

Kitas žingsnis yra sukurti mūsų programą. Mūsų atveju mes sukuriame paprastą HTTP serverį, kuris atsako paprastu pranešimu.





Pradėkite kurdami katalogą, kuriame saugotumėte projektą „Go“. Galite pateikti bet kokį tinkamą pavadinimą.

$ mkdir go_server

Eikite į katalogą ir sukurkite naują failą, kad išsaugotumėte šaltinio kodą. Šiuo atveju mes vadiname „main.go“ failą, kuris reiškia, kad failas yra „Go“ šaltinio kodas.



$ liesti pagrindinis.go

Galiausiai redaguokite failą ir pridėkite šaltinio kodą prie programos, kaip parodyta toliau:

pagrindinis paketas

importuoti (
'fmt'
'net/http'
)

pagrindinė funkcija ( ) {
// tvarkyti gaunamas užklausas
http.HandleFunc ( '/' , funkc ( Į http.ResponseWriter, r * http.Užklausa ) {
// Parašykite atsakymą klientui
fmt.Fprintf ( Į , 'Iš Docker (:' )
} )

// Paleiskite HTTP serverį prie prievado 8080
fmt.Println ( 'Serveris veikia: 8080' )
http.ListenAndServe ( ':8080' , nulis )
}

Ankstesnė programa sukuria pagrindinį HTTP serverį, kuris prisijungia prie 8080 prievado. Serveris atsako pagrindiniu pranešimu, kaip apibrėžta anksčiau.

Programos testavimas

Prieš sujungdami programą, įsitikinkime, kad programa veikia tinkamai. Vykdykite šią komandą:

$ eik bėk main.go

Ankstesnė komanda paleidžia programą ir grąžina pranešimą taip:

Serveris veikia: 8080

Tada, norėdami išbandyti HTTP serverį, galite paleisti komandą „curl“ taip:

$ garbanė http: // localhost: 8080 /

Ankstesnė komanda turėtų grąžinti pranešimą taip:

Iš Docker ( : %

Dabar galime tęsti ir prijungti ankstesnę programą, kaip nurodyta kituose veiksmuose.

Programos talpinimas

Kiti veiksmai yra aptarimas, kaip sukurti programos konteinerį. Pradedame kurdami Dockerfile projekto kataloge.

$ cd go_server

Sukurkite failą pavadinimu Dockerfile be plėtinio ir redaguokite failą naudodami teksto rengyklę. Šis failas leidžia mums apibrėžti visus mūsų taikomosios programos reikalavimus taip:

$ liesti Dockerfile
$ nes Dockerfile

Pridėkite konfigūraciją taip:

IŠ golango: 1.21

DARBO VADOVAS / programėlė

KOPIJUOT. .

RUN go build main.go -O pagrindinis .

ATSAKYTI 8080

CMD [ './main' ]

Ankstesniame „Dockerfile“ apibrėžiame ankstesnes programos operacijas.

  • Nustatykite pagrindinį vaizdą į oficialią Golang vaizdo versiją 1.21.
  • Sukonfigūruokite darbo katalogą konteinerio viduje į „/app“.
  • Į konteinerį nukopijuojame visą projekto katalogą.
  • Sukurkite programą „Go“ konteinerio viduje.
  • Atskleiskite 8080 prievadą, kad leistų įeinantį HTTP srautą.
  • Nustatykite komandą, kad paleistumėte programą „Go“.

„Docker“ vaizdo kūrimas

Norėdami sukurti programos vaizdą, atidarykite terminalą ir eikite į projekto katalogą. Tada paleiskite šią komandą, kad sukurtumėte vaizdą:

$ sudo dokerio konstrukcija -t go_server_docker .

Pakeiskite go_server_docker pavadinimu, kurį norite priskirti programos vaizdui.

Sėkmingai sukūrę „Docker“ vaizdą, galite paleisti konteinerį pagal tą vaizdą naudodami šią komandą:

$ dokininko bėgimas -p 8080 : 8080 go_server_docker

Ankstesnė komanda turėtų susieti 8080 prievadą iš pagrindinio kompiuterio į prievadą 8080 konteinerio viduje.

Norėdami išbandyti konteinerį, paleiskite šią komandą:

$ garbanė http: // localhost: 8080

Tai turėtų išspausdinti programoje apibrėžtą pranešimą.

Išvada

Šioje pamokoje sužinojome, kaip sukurti pagrindinę „Go“ programą. Taip pat sužinojome, kaip sudėti programą apibrėžiant reikalavimus Dockerfile, kuriant vaizdą iš konteinerio ir paleidžiant konteinerį iš vaizdo.