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

.NET dan Docker

.NET dan .NET Core (dan Windows!) telah menjadi lebih baik dan lebih baik dengan Docker. Saya menjalankan Docker untuk Windows karena mendukung Wadah Linux dan Wadah Windows. Mereka memiliki saluran Stabil dan Tepi. Saluran Edge (Beta) diperbarui secara berkala dan, sebagai suatu peraturan, menjadi lebih baik dan lebih baik di tahun saya menjalankannya.

Sebagai catatan tambahan yang sedikit tidak terkait, saya juga menjalankan Docker di NAS Synology saya dengan sejumlah wadah, serta .NET Core (Nas saya adalah chip Intel), Server Minecraft, Server Plex, dan CrashPlan.

CATATAN: Docker untuk Windows membutuhkan 64bit Windows 10 Pro dan Microsoft Hyper-V. Silakan lihat Apa yang perlu diketahui sebelum Anda menginstal untuk daftar lengkap prasyarat.

Tim .NET di Microsoft telah mengatur dan mengatur file docker mereka. Itu bisa sepertinya awalnya kebalikannya, dengan banyak tag dan nama samar, tetapi ada metode yang jelas yang dapat Anda baca di sini.

Mereka menerbitkan gambar Docker mereka di beberapa repositori berbeda di Docker Hub. Penting untuk mengelompokkan gambar agar lebih mudah ditemukan, baik di situs web Docker Hub maupun dengan docker search memerintah.

  • microsoft/dotnet — .NET Core Runtime dan gambar SDK untuk Linux dan Nano Server.
  • microsoft/aspnetcore — Gambar ASP.NET Core untuk Linux dan Nano Server.
  • microsoft/aspnetcore-build — Gambar ASP.NET Core untuk Linux dan Nano Server, ditujukan untuk membuat aplikasi.
  • Microsoft/dotnet-framework — gambar .NET Framework 3.5 dan 4.6.2 untuk Windows Server Core.
  • Microsoft/aspnet — Gambar .NET Framework 3.5 dan 4.6.2 ASP.NET untuk Windows Server Core.

Ada juga beberapa sampel di:

  • Microsoft/dotnet-samples — Sampel .NET Core.
  • Microsoft/dotnet-framework-samples — Contoh .NET Framework.

Sampelnya sangat mudah untuk dicoba - BERHENTI MEMBACA DAN COBA INI SEKARANG.;)

Saya selalu terkesan dengan bilah Kemajuan ASCII asinkron yang bagus. Saya mudah terkesan. Ini adalah sampel "hello world" dengan seni ASCII yang mengejutkan. Aku tidak akan memanjakanmu.

C:\Users\scott\Desktop> docker run microsoft/dotnet-samples
Unable to find image 'microsoft/dotnet-samples:latest' locally
latest: Pulling from microsoft/dotnet-samples
10a267c67f42: Downloading [========> ] 9.19MB/52.58MB
7e1a7ec87c21: Downloading [======================> ] 10.8MB/18.59MB
923d0cd2ed37: Download complete
7c523004cf83: Downloading [=========> ] 6.144MB/33.07MB
f3582118a43a: Waiting
c27ef6b597a0: Waiting

Semua gambar dikelola dan dipelihara di GitHub sehingga Anda dapat terlibat jika tidak sedang menggali gambar atau file.

Satu hal yang menarik untuk ditunjukkan adalah perbedaan antara gambar dev dan gambar produksi, serta gambar yang Anda gunakan dalam situasi CI/CD (Build Server) untuk membuat gambar lain. Berikut adalah beberapa contoh dari GitHub:

Pengembangan

  • dotnetapp-dev - Sampel ini bagus untuk pengembangan dan pembuatan karena bergantung pada gambar .NET Core SDK. Ia melakukan dotnet perintah atas nama Anda, mengurangi waktu yang diperlukan untuk membuat gambar Docker (dengan asumsi Anda membuat perubahan lalu mengujinya dalam wadah, secara iteratif).

Produksi

  • dotnetapp-prod - Sampel ini bagus untuk produksi karena bergantung pada gambar .NET Core Runtime, bukan gambar .NET Core SDK yang lebih besar. Sebagian besar aplikasi hanya membutuhkan waktu proses, mengurangi ukuran gambar aplikasi Anda.
  • dotnetapp-selfcontained - Sampel ini juga bagus untuk skenario produksi karena bergantung pada citra sistem operasi (tanpa .NET Core). Aplikasi .NET Core mandiri menyertakan .NET Core sebagai bagian dari aplikasi dan bukan sebagai komponen yang dipasang secara terpusat di gambar dasar.
  • dotnetapp-current - Contoh ini menunjukkan cara mengkonfigurasi aplikasi untuk menggunakan gambar .NET Core 1.1. Baik .csproj dan Dockerfile telah diperbarui agar bergantung pada .NET Core 1.1. Contoh ini sama dengan dotnetapp-prod dengan pengecualian mengandalkan versi .NET Core yang lebih baru.
  • aspnetapp - Contoh ini menunjukkan Aplikasi Web Inti ASP.NET Dockerized

Ada dukungan Docker yang hebat di VS Code, Visual Studio 2017, dan Visual Studio untuk Mac (saluran Pratinjau). Dengan VS dan Docker di Windows, Anda bahkan dapat melakukan F5 (debug) ke dalam Wadah Linux.

Beberapa dari Anda mungkin memiliki aplikasi .NET Framework yang berjalan di Mesin Virtual yang ingin Anda pindahkan ke infrastruktur kontainer. Ada alat bernama Image2Docker yang dikelola Docker yang mungkin bisa membantu. Ini membantu memigrasikan VM ke Containers. Lihat obrolan Image2Docker DockerCon atau baca Konversi Server Web ASP.NET Docker ke Docker dengan ImageDocker untuk mempelajari lebih lanjut.

“Kapal Kontainer” oleh Layanan Laut Nasional NOAA dilisensikan di bawah CC BY 2.0

Sponsor: Lihat Seq:logging terpusat sederhana, pada infrastruktur Anda, dengan dukungan hebat untuk ASP.NET Core dan Serilog. Unduh versi 4.0.


Docker
  1. Apa itu Docker (dan wadah Linux?)

  2. Mengapa Deis dan apa itu?

  3. Mendeteksi bahwa aplikasi .NET Core berjalan di Docker Container dan SkippableFacts di XUnit

  1. Cara Menginstal .NET Core di Debian 10

  2. perbedaan antara podman dan buruh pelabuhan.

  3. .NET core X509Store di linux

  1. Kapan dan Mengapa Menggunakan Docker

  2. Instal Docker dan WordPress Di Ubuntu

  3. Mengoptimalkan ukuran Gambar ASP.NET Core Docker