Golang lietojumprogramma, kas darbojas kā Docker konteiners

Golang Lietojumprogramma Kas Darbojas Ka Docker Konteiners



Šajā apmācībā mēs apgūsim konteineru veidošanas pamatus, iestatot Golang lietojumprogrammu, lai tā darbotos kā Docker konteiners. Mēs iemācīsimies strādāt ar Dockerfile, lai konfigurētu visas mūsu lietojumprogrammas prasības.

Go ir atvērtā koda, statiski drukāta un kompilēta programmēšanas valoda, kas ir slavena ar savu spēju veicināt vienkāršas, uzticamas un ļoti efektīvas programmatūras izstrādi. Tas atrod lietderību dažādu lietojumprogrammu, tostarp tīmekļa lietotņu, mākoņdatošanas risinājumu, komandrindas saskarņu (CLI) izstrādē, un intriģējošā kārtā pat pati Docker ir izstrādāta, izmantojot Go.

Mūsu gadījumā mēs pakalpojumā Go izveidojam vienkāršu HTTP serveri, kas ļauj mums parādīt, kā vienkāršās darbībās izveidot un Dockerize lietojumprogrammu.







Prasības:

Lai sekotu šai apmācībai, jums ir nepieciešami šādi rīki:



  1. Instalēts Go kompilators (nepieciešama versija 1.21 un jaunāka versija)
  2. Docker Engine palaišana jūsu resursdatorā
  3. IDE vai teksta redaktors, lai rediģētu programmu Go. Mēs iesakām izmantot Visual Studio vai Vim
  4. Komandrindas tulks, piemēram, Bash, ZSH, PowerShell utt.

Ja norādītās prasības ir izpildītas, turpināsim un uzzināsim, kā izveidot lietojumprogrammu.



Lietojumprogrammas izveide

Nākamais solis ir mūsu lietojumprogrammas izveide. Mūsu gadījumā mēs izveidojam vienkāršu HTTP serveri, kas atbild ar vienkāršu ziņojumu.





Sāciet, izveidojot direktoriju, lai saglabātu projektu Go. Varat norādīt jebkuru piemērotu nosaukumu.

$ mkdir go_server

Pārejiet uz direktoriju un izveidojiet jaunu failu, lai saglabātu avota kodu. Mūsu gadījumā mēs saucam “main.go” failu, kas norāda, ka fails ir Go avota kods.



$ pieskarties galvenais.go

Visbeidzot, rediģējiet failu un pievienojiet lietojumprogrammai avota kodu, kā parādīts tālāk.

galvenā pakete

imports (
'fmt'
'net/http'
)

galvenā funkcija ( ) {
// apstrādāt ienākošos pieprasījumus
http.HandleFunc ( '/' , funkcion ( In http.ResponseWriter, r * http.Pieprasījums ) {
// Uzrakstiet klientam atbildi
fmt.Fprintf ( In , 'No Docker (:' )
} )

// Sāciet HTTP serveri portā 8080
fmt.Println ( 'Serveris darbojas: 8080' )
http.ListenAndServe ( ':8080' , nulle )
}

Iepriekšējā lietojumprogramma izveido pamata HTTP serveri, kas ir saistīts ar portu 8080. Serveris atbild ar pamata ziņojumu, kā noteikts iepriekš.

Lietojumprogrammas testēšana

Pirms lietojumprogrammas dokerizēšanas pārliecinieties, vai lietotne darbojas pareizi. Palaidiet šādu komandu:

$ ej skrien galvenais.go

Iepriekšējā komanda palaiž lietojumprogrammu un atgriež ziņojumu šādi:

Serveris darbojas uz: 8080

Tālāk, lai pārbaudītu HTTP serveri, varat palaist komandu “curl” šādi:

$ čokurošanās http: // localhost: 8080 /

Iepriekšējai komandai ir jāatgriež ziņojums šādi:

No Docker ( : %

Tagad mēs varam turpināt un dockerizēt iepriekšējo lietojumprogrammu, kā noteikts nākamajās darbībās.

Lietojumprogrammas ievietošana konteineros

Nākamās darbības ir apspriest, kā izveidot konteineru lietojumprogrammai. Mēs sākam, izveidojot Dockerfile projekta direktorijā.

$ cd go_server

Izveidojiet failu ar nosaukumu Dockerfile bez paplašinājuma un rediģējiet failu, izmantojot teksta redaktoru. Šis fails ļauj mums definēt visas mūsu lietojumprogrammas prasības šādi:

$ pieskarties Dockerfile
$ jo Dockerfile

Pievienojiet konfigurāciju šādi:

NO golanga: 1.21

DARBA DIREKTĪVĀ / lietotne

KOPĒT. .

RUN go build main.go -O galvenais .

ATKLĀJOT 8080

CMD [ './main' ]

Iepriekšējā Dockerfile mēs definējām lietojumprogrammas iepriekšējās darbības.

  • Iestatiet pamata attēlu uz oficiālo Golang attēla versiju 1.21.
  • Konteinerā konfigurējiet darba direktoriju uz “/app”.
  • Mēs kopējam visu projekta direktoriju konteinerā.
  • Izveidojiet lietojumprogrammu Go konteinerā.
  • Atklājiet portu 8080, lai atļautu ienākošo HTTP trafiku.
  • Iestatiet komandu, lai palaistu programmu Go.

Docker attēla izveide

Lai izveidotu lietojumprogrammas attēlu, atveriet termināli un pārejiet uz projekta direktoriju. Pēc tam palaidiet šo komandu, lai izveidotu attēlu:

$ sudo dokera uzbūve -t go_server_docker .

Aizstājiet go_server_docker ar nosaukumu, kuru vēlaties piešķirt lietotnes attēlam.

Pēc veiksmīgas Docker attēla izveides varat palaist konteineru, pamatojoties uz šo attēlu, ar šādu komandu:

$ dokera skrējiens -lpp 8080 : 8080 go_server_docker

Iepriekšējai komandai ir jāsamēro resursdatora mašīnas ports 8080 ar portu 8080 konteinera iekšpusē.

Lai pārbaudītu konteineru, palaidiet šādu komandu:

$ čokurošanās http: // localhost: 8080

Tam vajadzētu izdrukāt lietojumprogrammā definēto ziņojumu.

Secinājums

Šajā apmācībā mēs uzzinājām, kā izveidot Go pamata lietojumprogrammu. Mēs arī uzzinājām, kā konteinerizēt lietojumprogrammu, definējot prasības Dockerfile, veidojot attēlu no konteinera un palaižot konteineru no attēla.