Saglabājiet savas Rust lietojumprogrammas, izmantojot Docker, lai vienkāršotu izvietošanu un nodrošinātu konsekvenci dažādās vidēs.

Konteiners piedāvā būtiskas priekšrocības pārnesamības, izolācijas un efektivitātes ziņā. Tas nodrošina konsekventu lietojumprogrammu izvietošanu dažādās vidēs un nodrošina drošību un stabilitāti, izmantojot lietojumprogrammu izolāciju. Tas arī optimizē resursu izmantošanu, vienkāršo izstrādes un pārvaldības procesus un uzlabo mērogojamību.

Rust lietotņu ievietošana konteineros ar Docker nodrošina uzticamu un efektīvu līdzekli lietojumprogrammu un to atkarību iesaiņošanai autonomā un pārnēsājamā vidē. Tas nodrošina netraucētu izpildi dažādās sistēmās, neraizējoties par pamatā esošo infrastruktūru.

Vienkārša tīmekļa servera iestatīšana Rust ar Actix

Jūs varat iestatiet vienkāršu tīmekļa serveri Rustā ar Actix un konteinerizējiet savu lietotni ar Docker. Jūs atklāsit portu, no kura varēsit piekļūt serverim, lai veiktu pieprasījumus.

Palaidiet šo komandu, lai izveidotu jaunu Rust projektu ar Kravu paku menedžeris:

instagram viewer
kravas jauna mana lietotne

Kad veidojat jaunu Rust projektu, Cargo pievieno kravas.toml failu jūsu projekta saknes direktorijā. Atveriet kravas.toml failu un pievienojiet Actix kasti atkarības sadaļa šādi:

[atkarības]
actix-web = "4.3.1"

Lūk, kā jūs varat iestatīt vienkāršu serveri Rust ar Actix kasti:

izmantot actix_web::{get, App, HttpResponse, HttpServer, Responder};

// Importējiet nepieciešamās atkarības no Actix Web ietvara

#[gūt("/")]
asinhronsfnSveiki() -> impl Atbildētājs {
// Definējiet apstrādātāja funkciju GET pieprasījumiem uz saknes ceļu ("/")
// Funkcija atgriež veidu, kas ievieš Responder iezīmi

HttpResponse::Labi().body("Sveika pasaule!")
// Atgriezt HTTP atbildi ar statusa kodu 200 (OK)
// un atbildes teksts "Sveika, pasaule!"
}

#[actix_web:: galvenais]
asinhronsfngalvenais() -> std:: io::Rezultāts {
// Lietojumprogrammas ievades punkts

HttpServer:: new(|| {
// Izveidojiet jaunu HttpServer gadījumu

Lietotne:: jauns().service (sveiki)
// Izveidojiet jaunu lietotnes gadījumu un reģistrējiet funkciju hello

}).saistīt("127.0.0.1:8080")?.run().gaidīt
// Saistīt serveri ar IP adresi un portu
// Sāciet serveri un gaidiet tā pabeigšanu
}

Programma izveido pamata HTTP tīmekļa serveri ar Actix. The Sveiki funkcija ir apstrādātāja funkcija, kas atbild uz GET pieprasījumiem portā 8080 ar "Sveika, pasaule!".

The galvenais funkcija iestata servera gadījumu ar HttpServer:: jauns funkciju un piesaista serverim darboties vietējā resursdatora adresē 127.0.0.1:8080.

Tagad izpildiet kravas skrējiens komanda, lai palaistu tīmekļa serveri. Šis ir adreses atvēršanas tīmekļa pārlūkprogrammā rezultāts.

Docker faila rakstīšana savai Rust lietotnei

Lai konteinerizētu savu Rust lietotni ar Docker, jums ir jāizveido a Dockerfile un definējiet konteinerizācijas procesa komandas.

The Dockerfile nav paplašinājuma; jums tikai jāizveido a Dockerfile failu. Varat arī izveidot a .docker ignorēt failu, lai veidotu abstraktus failus savā darba direktorijā.

Komandu noteikšana jūsu Docker failā

Jūsu Dockerfile saturēs komandas, kas izvelk bāzes attēlu no Docker repozitorija, iestata darba direktoriju, kopē failus, izveidojiet atkarības, izveidojiet lietojumprogrammu, izveidojiet minimālu attēlu, eksportējiet portu un palaidiet pieteikumu.

# Izmantojiet Rust bāzes attēla jaunāko versiju
NO rūsa: jaunākā

# Iestatiet darba direktoriju konteinerā uz /my
DARBA DIREKTĪVĀ /usr/src/my-app

# Kopējiet Rust projekta failus darba direktorijā
KOPĒT. .

# Izveidojiet lietotni Rust
RUN kravas uzbūve

# Iestatiet komandu, lai palaistu lietotni Rust
CMD kravas skrējiens

Pēc nepieciešamo komandu definēšanas lietotnes konteinerizēšanai varat izveidot konteineru ar šo komandu:

docker build -t my-app .

Komanda izveido jūsu Docker attēlu mana lietotne lietotne ar atzīmi mana lietotne no pašreizējā direktorija.

Jūs varat izmantot dokera skrējiens komandu, lai palaistu savu Docker attēlu.

docker run -p 8080:8080 mana lietotne

The -p 8080:8080 opcija kartē resursdatora portu 8080 ar konteinera portu 8080. Docker pārsūtīs uz resursdatora mašīnas portu 8080 novirzīto trafiku uz konteinera portu 8080.

Varat nosūtīt pieprasījumus uz konteineru, izmantojot localhost portu 8080, lai izsauktu tīmekļa serveri.

Docker Compose iespējo vairāku konteineru orķestrēšanu

Darbs ar vairākiem konteineriem ir izplatīts uzdevums, veidojot sarežģītas Docker lietojumprogrammas. Varat izmantot Docker Compose, lai strādātu ar vairākiem Docker konteineriem.

Docker Compose nodrošina funkcionalitāti, lai definētu pakalpojumus, kas veido jūsu lietotni, norādot atkarības starp pakalpojumiem, vides mainīgo definēšana katram pakalpojumam, palaišana, apturēšana, restartēšana, lietojumprogrammas konteineru mērogošana un citas funkcijas.