GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Menjalankan Aplikasi .NET di Docker

Docker adalah layanan containerization, digunakan untuk menjalankan aplikasi di lingkungan terisolasi yang dikemas dengan semua dependensi dan kode yang dibutuhkan untuk berfungsi. Itu dapat menjalankan semua jenis aplikasi, termasuk program berbasis .NET menggunakan gambar runtime yang disediakan Microsoft.

Dockerizing .NET

Microsoft menyediakan gambar dasar bawaan untuk menjalankan aplikasi .NET. Anda tidak perlu menangani penginstalan .NET runtime atau SDK di wadah Docker Anda, karena Anda cukup memperluas dari gambar dasar Microsoft untuk versi .NET yang digunakan aplikasi Anda.

Kecuali jika Anda berencana untuk menggunakan wadah Windows di server Windows, Anda harus menggunakan .NET Core atau .NET 5. Waktu proses .NET Framework yang lebih lama tidak bersifat lintas platform dan tidak akan berjalan pada wadah berbasis Linux.

Jika Anda tidak menginstal Docker di mesin pengembangan Anda, Anda harus menginstal Docker Desktop untuk memiliki akses ke CLI. Jika Anda menggunakan WSL di Windows, sebaiknya aktifkan mesin berbasis WSL 2, yang memberikan kinerja lebih baik.

Untuk mengujinya, kami akan membuat aplikasi ASP.NET API baru. Prosedur umum yang sama akan berlaku untuk semua jenis aplikasi, karena semua yang dilakukan Docker adalah menjalankan build setiap kali Anda membangun container, dan memulai aplikasi Anda dengan perintah entrypoint.

Buat file baru bernama Dockerfile di root proyek Anda, tempat solusi Anda berada. Tempel di konfigurasi berikut:

DARI mcr.microsoft.com/dotnet/core/sdk AS build-envWORKDIR /app# Salin csproj dan restoreCOPY *.csproj ./RUN dotnet restore# Salin semua yang lain dan buildCOPY . ./RUN dotnet publish -o out# Bangun runtime imageFROM mcr.microsoft.com/dotnet/core/runtimeWORKDIR /appCOPY --from=build-env /app/out .ENTRYPOINT ["dotnet", "DockerTest.dll"] 

Dockerfile ini menarik image .NET Core SDK untuk melakukan build. Itu menyalin .csproj atas dan pulihkan, lalu salin semua yang lain dan jalankan build. Kemudian, itu membuat gambar baru dari gambar .NET Runtime dan menyalin artefak pembangunan.

Akhirnya, titik masuk didefinisikan di sini sebagai dotnet DockerTest.dll . Ini akan memulai server web ASP.NET, meskipun Anda mungkin perlu mengubah parameter untuk aplikasi Anda, atau menentukan perintah titik masuk yang sama sekali berbeda.

Anda dapat menguji menjalankan wadah Anda dengan docker container run , meneruskannya dalam ID wadah build:

docker container menjalankan containerid

Untuk aplikasi ASP.NET, Anda harus membuka port dengan memetakan port di host ke port di container:

docker run -p 80:80 containerid

Anda dapat membaca panduan kami untuk bekerja dengan Docker dan Dockerfiles untuk mempelajari lebih lanjut.


Docker
  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Bagaimana Menghubungkan Kontainer Docker

  3. Cara Menjalankan MySQL Dalam Wadah Docker

  1. Cara Mengganti Entrypoint Menggunakan Docker Run

  2. Cara Menjalankan Perintah di Running Docker Container

  3. Cara Menginstal Docker dan Menjalankan Wadah Docker di Ubuntu

  1. Cara Menyebarkan dan Menjalankan Redis di Docker

  2. Cara Menginstal Docker di Raspberry Pi

  3. Cara Mengoptimalkan Kinerja Docker