Sutalpinkite savo Rust programas su Docker, kad supaprastintumėte diegimą ir užtikrintumėte nuoseklumą įvairiose aplinkose.

Konteineravimas suteikia esminės naudos perkeliamumo, izoliacijos ir efektyvumo požiūriu. Tai leidžia nuosekliai diegti programas įvairiose aplinkose ir užtikrina saugumą bei stabilumą per programos izoliaciją. Tai taip pat optimizuoja išteklių panaudojimą, supaprastina kūrimo ir valdymo procesus bei padidina mastelio keitimą.

„Rust“ programų talpinimas naudojant „Docker“ suteikia patikimą ir veiksmingą priemonę programoms ir jų priklausomybėms supakuoti į savarankišką ir nešiojamą aplinką. Tai leidžia sklandžiai vykdyti įvairiose sistemose, nesirūpinant pagrindine infrastruktūra.

Paprasto žiniatinklio serverio nustatymas Rust naudojant Actix

Tu gali nustatyti paprastą žiniatinklio serverį Rust su Actix ir talpinkite savo programą naudodami Docker. Atversite prievadą, iš kurio pateksite į serverį, kad gautumėte užklausas.

Vykdykite šią komandą, kad sukurtumėte naują Rust projektą su Krovinių paketų vadybininkas:

instagram viewer
krovinys nauja mano programėlė

Kai kuriate naują Rust projektą, Cargo prideda krovinys.toml failą į savo projekto šakninį katalogą. Atidaryk krovinys.toml failą ir pridėkite Actix dėžutę prie priklausomybės skyrių taip:

[priklausomybės]
actix-web = "4.3.1"

Štai kaip galite nustatyti paprastą serverį Rust su Actix dėžute:

naudoti actix_web::{gauti, programa, HttpResponse, HttpServer, Responder};

// Importuokite būtinas priklausomybes iš Actix Web sistemos

#[gauti("/")]
asyncfnSveiki() -> impl Atsakovas {
// Apibrėžkite tvarkyklės funkciją GET užklausoms į šakninį kelią („/“)
// Funkcija grąžina tipą, kuris įgyvendina atsakiklio bruožą

HttpResponse::Gerai().kūnas("Labas pasauli!")
// Grąžinti HTTP atsakymą su būsenos kodu 200 (Gerai)
// ir atsakymo tekstas "Sveikas, pasauli!"
}

#[actix_web:: pagrindinis]
asyncfnpagrindinis() -> std:: io::Rezultatas {
// Programos įėjimo taškas

HttpServer:: new(|| {
// Sukurkite naują HttpServer egzempliorių

Programėlė:: new().service (labas)
// Sukurkite naują programos egzempliorių ir užregistruokite „hello“ funkciją

}).įpareigoti("127.0.0.1:8080")?.run().laukti
// Susiekite serverį su IP adresu ir prievadu
// Paleiskite serverį ir palaukite, kol jis bus baigtas
}

Programa nustato pagrindinį HTTP žiniatinklio serverį su Actix. The Sveiki funkcija yra tvarkyklės funkcija, kuri atsako į GET užklausas prievade 8080 su "Labas, pasauli!".

The pagrindinis funkcija nustato serverio egzempliorių su HttpServer:: naujas funkcija ir susieja serverį, kad jis veiktų vietinio pagrindinio kompiuterio adresu 127.0.0.1:8080.

Dabar vykdykite krovinių važiavimas komanda paleisti žiniatinklio serverį. Štai adreso atidarymo žiniatinklio naršyklėje rezultatas.

„Docker“ failo rašymas jūsų „Rust“ programai

Norėdami sudėti „Rust“ programą naudodami „Docker“, turite sukurti a Dockerfile ir apibrėžti konteinerių sudarymo proceso komandas.

The Dockerfile neturi plėtinio; Jums tereikia sukurti a Dockerfile failą. Taip pat galite sukurti a .dockeris ignoruoti failą į abstrakčius failus savo darbo kataloge iš kūrimo proceso.

Komandų apibrėžimas jūsų Docker faile

Tavo Dockerfile bus komandos, kurios iš Docker saugyklos ištraukia pagrindinį vaizdą, nustato darbo katalogą, nukopijuoja failus, sukurkite priklausomybes, sukurkite programą, sukurkite minimalų vaizdą, eksportuokite prievadą ir paleiskite taikymas.

# Naudokite naujausią Rust bazinio vaizdo versiją
NUO rūdys: naujausias

# Darbinį katalogą konteineryje nustatykite į /my
DARBO VADOVAS /usr/src/my-app

# Nukopijuokite Rust projekto failus į darbo katalogą
KOPIJUOT. .

# Sukurkite Rust programą
BĖGTI krovinio statyba

# Nustatykite komandą, kad paleistumėte programą „Rust“.
CMD krovinių važiavimas

Apibrėžę reikiamas komandas, skirtas programai sudėti į konteinerius, galite sukurti konteinerį naudodami šią komandą:

docker build -t my-app .

Komanda sukuria jūsų „Docker“ vaizdą mano programa programa su žyma mano programa iš dabartinio katalogo.

Galite naudoti dokininko bėgimas komandą, kad paleistumėte „Docker“ vaizdą.

docker run -p 8080:8080 mano programa

The -p 8080:8080 parinktis susieja pagrindinio kompiuterio prievadą 8080 su konteinerio prievadu 8080. „Docker“ perduos srautą, nukreiptą į pagrindinio kompiuterio 8080 prievadą, į konteinerio 8080 prievadą.

Galite siųsti užklausas į konteinerį per localhost prievadą 8080, kad paskambintumėte žiniatinklio serveriui.

„Docker Compose“ įgalina kelių konteinerių orkestravimą

Darbas su keliais konteineriais yra dažna užduotis kuriant sudėtingas „Docker“ programas. Galite naudoti Docker Compose dirbti su keliais Docker konteineriais.

„Docker Compose“ teikia funkcijas, skirtas apibrėžti paslaugas, kurios sudaro jūsų programą, nurodyti paslaugų priklausomybes, apibrėžiant kiekvienos paslaugos aplinkos kintamuosius, paleidžiant, sustabdant, paleidžiant iš naujo, keičiant programos konteinerius ir kt. funkcijos.