Säilytä Rust-sovelluksesi Dockerin avulla yksinkertaistaaksesi käyttöönottoa ja varmistaaksesi johdonmukaisuuden eri ympäristöissä.

Säiliöinti tarjoaa olennaisia ​​etuja siirrettävyyden, eristyksen ja tehokkuuden kannalta. Se mahdollistaa sovellusten johdonmukaisen käyttöönoton eri ympäristöissä ja varmistaa turvallisuuden ja vakauden sovellusten eristämisen avulla. Se myös optimoi resurssien käytön, yksinkertaistaa kehitys- ja hallintaprosesseja ja parantaa skaalautuvuutta.

Rust-sovellusten pakkaaminen Dockerin avulla tarjoaa luotettavan ja tehokkaan tavan pakata sovellukset ja niiden riippuvuudet itsenäisiin ja kannettaviin ympäristöihin. Se mahdollistaa saumattoman suorituksen eri järjestelmissä ilman huolta taustalla olevasta infrastruktuurista.

Yksinkertaisen verkkopalvelimen asentaminen Rustissa Actixin avulla

Sinä pystyt perustaa yksinkertainen verkkopalvelin Rustissa Actixin kanssa ja kontiloi sovelluksesi Dockerin avulla. Saat näkyviin portin, josta pääset palvelimelle pyyntöjä varten.

Suorita tämä komento luodaksesi uuden Rust-projektin Rahtipakettien johtaja:

cargo uusi my-app

Kun luot uuden Rust-projektin, Cargo lisää cargo.toml tiedosto projektisi juurihakemistoon. Avaa cargo.toml tiedosto ja lisää Actix-laatikko siihen riippuvuuksia jakso näin:

[riippuvuudet]
actix-web = "4.3.1"

Näin voit asentaa yksinkertaisen palvelimen Rustissa Actix-laatikolla:

käyttää actix_web::{get, App, HttpResponse, HttpServer, Responder};

// Tuo tarvittavat riippuvuudet Actix Web -kehyksestä

#[saada("/")]
asynkfnHei() -> impl Vastaaja {
// Määritä käsittelijäfunktio juuripolkuun ("/") oleville GET-pyynnöille
// Funktio palauttaa tyypin, joka toteuttaa Responder-ominaisuuden

HttpResponse::Ok().body("Hei maailma!")
// Palauta HTTP-vastaus tilakoodilla 200 (OK)
// ja vastausteksti "Hei, maailma!"
}

#[actix_web:: main]
asynkfnpää() -> std:: io::Tulos {
// Sovelluksen sisääntulokohta

HttpServer:: new(|| {
// Luo uusi HttpServerin esiintymä

Sovellus:: uusi().palvelu (hei)
// Luo uusi sovelluksen esiintymä ja rekisteröi hello-toiminto

}).sitoa("127.0.0.1:8080")?.juosta().odottaa
// Sido palvelin IP-osoitteeseen ja porttiin
// Käynnistä palvelin ja odota sen valmistumista
}

Ohjelma perustaa perus HTTP-verkkopalvelimen Actixin avulla. The Hei -toiminto on käsittelijätoiminto, joka vastaa portin GET-pyyntöihin 8080 sanalla "Hei, maailma!".

The pää toiminto määrittää palvelinesiintymän kanssa HttpServer:: uusi toiminto ja sitoo palvelimen toimimaan localhost-osoitteessa 127.0.0.1:8080.

Suorita nyt rahtiajo komento Web-palvelimen suorittamiseksi. Tässä on tulos osoitteen avaamisesta verkkoselaimella.

Docker-tiedoston kirjoittaminen Rust-sovelluksellesi

Jos haluat säilyttää Rust-sovelluksesi Dockerin kanssa, sinun on luotava a Docker-tiedosto ja määritä komennot säilöintiprosessille.

The Docker-tiedosto ei ole laajennusta; sinun tarvitsee vain luoda a Docker-tiedosto tiedosto. Voit myös luoda a .dockerignore tiedosto abstrakteihin tiedostoihin työhakemistossasi rakennusprosessistasi.

Komentojen määrittäminen Docker-tiedostossasi

Sinun Docker-tiedosto sisältää komentoja, jotka hakevat peruskuvan Docker-arkistosta, asettavat työhakemiston ja kopioivat tiedostot, rakentaa riippuvuuksia, rakentaa sovellus, luoda minimaalinen kuva, viedä portti ja suorittaa sovellus.

# Käytä Rust-peruskuvan uusinta versiota
FROM ruoste: uusin

# Aseta säilön työhakemistoksi /my
TYÖOHJ /usr/src/my-app

# Kopioi Rust-projektitiedostot työhakemistoon
KOPIO. .

# Rakenna Rust-sovellus
JUOSTA rahtirakenne

# Aseta komento käynnistämään Rust-sovellus
CMD rahtiajo

Kun olet määrittänyt tarvittavat komennot sovelluksesi säilytykseen, voit rakentaa säilön tällä komennolla:

docker build -t my-app .

Komento rakentaa Docker-kuvan sinulle minun sovellus sovellus tunnisteella minun sovellus nykyisestä hakemistosta.

Voit käyttää telakkajuoksu komento suorittaaksesi Docker-kuvasi.

docker run -p 8080:8080 my-app

The -p 8080:8080 vaihtoehto yhdistää isäntäkoneen portin 8080 kontin porttiin 8080. Docker välittää isäntäkoneen porttiin 8080 ohjatun liikenteen kontin porttiin 8080.

Voit lähettää pyyntöjä säilöön localhost-portin 8080 kautta soittaaksesi verkkopalvelimelle.

Docker Compose mahdollistaa usean säilön orkestroinnin

Työskentely useiden säiliöiden kanssa on yleinen tehtävä kehitettäessä kehittyneitä Docker-sovelluksia. Voit käyttää Docker Composea työskentelemään useiden Docker-säilöjen kanssa.

Docker Compose tarjoaa toiminnot, joilla voit määrittää sovelluksesi muodostavat palvelut, määrittää palveluiden väliset riippuvuudet, määrittää ympäristömuuttujat kullekin palvelulle, käynnistää, pysäyttää, käynnistää uudelleen, skaalata sovelluksesi säilöjä ja muita toimintoja.