Kontejnerujte své aplikace Rust pomocí Dockeru, abyste zjednodušili nasazení a zajistili konzistenci v různých prostředích.

Kontejnerizace nabízí zásadní výhody z hlediska přenositelnosti, izolace a efektivity. Umožňuje konzistentní nasazení aplikací v různých prostředích a zajišťuje bezpečnost a stabilitu prostřednictvím izolace aplikací. Optimalizuje také využití zdrojů, zjednodušuje procesy vývoje a správy a zvyšuje škálovatelnost.

Kontejnerování aplikací Rust pomocí Dockeru poskytuje spolehlivý a efektivní způsob balení aplikací a jejich závislostí do samostatných a přenosných prostředí. Umožňuje bezproblémové provádění napříč různými systémy bez obav o základní infrastrukturu.

Nastavení jednoduchého webového serveru v Rustu s Actixem

Můžeš nastavit jednoduchý webový server v Rustu s Actixem a kontejnerizujte svou aplikaci pomocí Dockeru. Zpřístupníte port, odkud budete přistupovat k serveru pro požadavky.

Spuštěním tohoto příkazu vytvoříte nový projekt Rust s Správce nákladních balíků:

instagram viewer
cargo new my-app

Když vytvoříte nový projekt Rust, Cargo přidá cargo.toml soubor do kořenového adresáře vašeho projektu. Otevři cargo.toml soubor a přidejte přepravku Actix do závislosti oddíl takto:

[závislosti]
actix-web = "4.3.1"

Zde je návod, jak můžete nastavit jednoduchý server v Rustu pomocí přepravky Actix:

použití actix_web::{get, Aplikace, HttpResponse, HttpServer, Responder};

// Import potřebných závislostí z webového rámce Actix

#[dostat("/")]
asynchronnífnAhoj() -> impl Responder {
// Definujte funkci obsluhy pro požadavky GET do kořenové cesty ("/")
// Funkce vrací typ, který implementuje vlastnost Responder

HttpResponse::OK().tělo("Ahoj světe!")
// Vrátí odpověď HTTP se stavovým kódem 200 (OK)
// a tělo odpovědi "Ahoj, světe!"
}

#[actix_web:: main]
asynchronnífnhlavní() -> std:: io::Výsledek {
// Vstupní bod aplikace

HttpServer:: new(|| {
// Vytvoří novou instanci HttpServer

Aplikace:: new().service (ahoj)
// Vytvořte novou instanci aplikace a zaregistrujte funkci hello

}).svázat("127.0.0.1:8080")?.běh().čekat
// Svázat server s IP adresou a portem
// Spusťte server a počkejte na jeho dokončení
}

Program nastaví základní HTTP Web Server s Actixem. The Ahoj funkce je obslužná funkce, která odpovídá na požadavky GET na portu 8080 s "Ahoj, světe!".

The hlavní funkce nastaví instanci serveru s HttpServer:: nový a připojí server ke spuštění na adrese localhost 127.0.0.1:8080.

Nyní proveďte nákladní jízda příkaz ke spuštění webového serveru. Zde je výsledek otevření adresy ve webovém prohlížeči.

Zápis Dockerfile pro vaši aplikaci Rust

Chcete-li kontejnerizovat svou aplikaci Rust pomocí Dockeru, musíte vytvořit a Dockerfile a definovat příkazy pro proces kontejnerizace.

The Dockerfile nemá příponu; stačí vytvořit a Dockerfile soubor. Můžete také vytvořit a .dockerignore soubor do abstraktních souborů ve vašem pracovním adresáři z procesu sestavení.

Definování příkazů ve vašem Dockerfile

Vaše Dockerfile bude obsahovat příkazy, které vytáhnou základní obrázek z úložiště Docker, nastaví pracovní adresář, zkopírují soubor soubory, sestavení závislostí, sestavení aplikace, vytvoření minimálního obrazu, export portu a spuštění aplikace.

# Použijte nejnovější verzi základního obrazu Rust
Z rez: nejnovější

# Nastavte pracovní adresář v kontejneru na /my
WORKDIR /usr/src/my-app

# Zkopírujte soubory projektu Rust do pracovního adresáře
KOPÍROVAT. .

# Vytvořte aplikaci Rust
BĚH stavba nákladu

# Nastavte příkaz ke spuštění aplikace Rust
CMD nákladní jízda

Po definování požadovaných příkazů pro kontejnerizaci aplikace můžete vytvořit kontejner pomocí tohoto příkazu:

docker build -t my-app .

Příkaz vytvoří obrázek Docker pro váš moje aplikace aplikace se značkou moje aplikace z aktuálního adresáře.

Můžete použít docker spustit příkaz ke spuštění obrazu Dockeru.

docker run -p 8080:8080 moje aplikace

The -p 8080:8080 volba mapuje port 8080 hostitelského počítače na port 8080 kontejneru. Docker přesměruje provoz směrovaný na port 8080 na hostitelském počítači na port 8080 v kontejneru.

Prostřednictvím portu localhost 8080 můžete odesílat požadavky do kontejneru a volat webový server.

Docker Compose umožňuje vícekontejnerovou orchestraci

Práce s více kontejnery je převládajícím úkolem při vytváření sofistikovaných aplikací Docker. Docker Compose můžete použít k práci s více kontejnery Docker.

Docker Compose poskytuje funkce pro definování služeb, které tvoří vaši aplikaci, určení závislostí mezi službami, definování proměnných prostředí pro každou službu, spouštění, zastavování, restartování, škálování kontejnerů vaší aplikace a další funkce.