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ů:
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 ResponderHttpResponse::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 aplikaceHttpServer:: new(|| {
// Vytvoří novou instanci HttpServerAplikace:: 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.