Visual Studio Docker için kapsayıcı araçları

docker kapsayıcıları ile geliştirmeye yönelik Visual Studio eklenen araçların kullanımı kolaydır ve kapsayıcılı uygulamalar için oluşturma, hata ayıklama ve dağıtımı büyük ölçüde basitleştirir. tek bir proje için bir kapsayıcı ile çalışabilir veya kapsayıcılar içinde birden fazla hizmet ile çalışmak için Docker Compose veya Service Fabric kapsayıcı düzenleme kullanabilirsiniz.

Önkoşullar

Visual Studio Docker desteği

docker desteği ASP.NET projeler, ASP.NET Core projeler, Azure işlevleri ve .net Core ve .NET Framework konsol projeleri için kullanılabilir.

Visual Studio içindeki docker desteği, müşteri ihtiyaçlarına yanıt olarak çok sayıda yayın üzerinden değiştirilmiştir. Bir projeye ekleyebileceğiniz iki farklı Docker desteği düzeyi vardır ve desteklenen seçenekler proje türüne ve Visual Studio sürümüne göre farklılık gösterir. Desteklenen bazı proje türleriyle, tek bir proje için düzenleme kullanmadan yalnızca bir kapsayıcı istiyorsanız, bunu Docker desteği ekleyerek yapabilirsiniz. Bir sonraki düzey, seçtiğiniz belirli bir Orchestrator için uygun destek dosyaları ekleyen kapsayıcı düzenleme destedir.

Visual Studio 2017 ile Docker Compose ve Service Fabric kapsayıcı düzenleme hizmetleri olarak kullanabilirsiniz.

Not

15,8 ' den önceki bir Visual Studio 2017 sürümünü kullanıyorsanız veya .NET Framework projesi şablonunu kullanıyorsanız (.net Core değil), docker desteği eklediğinizde, Docker Compose kullanarak düzenleme desteği otomatik olarak eklenir.

Önkoşullar

Visual Studio Docker desteği

docker desteği ASP.NET projeler, ASP.NET Core projeleri ve .net Core ve .NET Framework konsol projeleri için kullanılabilir.

Visual Studio içindeki docker desteği, müşteri ihtiyaçlarına yanıt olarak çok sayıda yayın üzerinden değiştirilmiştir. Bir projeye ekleyebileceğiniz iki farklı Docker desteği düzeyi vardır ve desteklenen seçenekler proje türüne ve Visual Studio sürümüne göre farklılık gösterir. Desteklenen bazı proje türleriyle, tek bir proje için düzenleme kullanmadan yalnızca bir kapsayıcı istiyorsanız, bunu Docker desteği ekleyerek yapabilirsiniz. Bir sonraki düzey, seçtiğiniz belirli bir Orchestrator için uygun destek dosyaları ekleyen kapsayıcı düzenleme destedir.

Visual Studio 2019 ile, Docker Compose, kubernetes ve Service Fabric kapsayıcı düzenleme hizmetleri olarak kullanabilirsiniz.

Not

tam .NET Framework konsol projesi şablonu kullanıyorsanız, desteklenen seçenek, proje oluşturulduktan sonra, Service Fabric veya Docker Compose kullanma seçenekleriyle kapsayıcı Orchestrator desteği ekler . Proje oluşturma sırasında destek ekleme ve düzenleme olmadan tek bir proje için Docker desteği ekleme seçeneği kullanılamaz.

Visual Studio 2019 sürüm 16,4 ve sonraki sürümlerde kapsayıcılar penceresi kullanılabilir; bu, çalışan kapsayıcıları görüntülemenize, kullanılabilir görüntülere gözatmanıza, ortam değişkenlerini, günlüklere ve bağlantı noktası eşlemelerini görüntülemenize, dosya sistemini incelemenize, bir hata ayıklayıcı eklemenize veya kapsayıcı ortamının içinde bir terminal penceresi açmaya olanak sağlar. Bkz. kapsayıcılar penceresini kullanma.

Önkoşullar

Visual Studio Docker desteği

docker desteği ASP.NET projeler, ASP.NET Core projeleri ve .net Core ve .NET Framework konsol projeleri için kullanılabilir.

Visual Studio içindeki docker desteği, müşteri ihtiyaçlarına yanıt olarak çok sayıda yayın üzerinden değiştirilmiştir. Bir projeye ekleyebileceğiniz iki farklı Docker desteği düzeyi vardır ve desteklenen seçenekler proje türüne ve Visual Studio sürümüne göre farklılık gösterir. Desteklenen bazı proje türleriyle, tek bir proje için düzenleme kullanmadan yalnızca bir kapsayıcı istiyorsanız, bunu Docker desteği ekleyerek yapabilirsiniz. Bir sonraki düzey, seçtiğiniz belirli bir Orchestrator için uygun destek dosyaları ekleyen kapsayıcı düzenleme destedir.

Visual Studio 2022 ile Docker Compose veya Service Fabric kapsayıcı düzenleme hizmetleri olarak kullanabilirsiniz.

Not

tam .NET Framework konsol projesi şablonu kullanıyorsanız, desteklenen seçenek, proje oluşturulduktan sonra, Service Fabric veya Docker Compose kullanma seçenekleriyle kapsayıcı Orchestrator desteği ekler . Proje oluşturma sırasında destek ekleme ve düzenleme olmadan tek bir proje için Docker desteği ekleme seçeneği kullanılamaz.

Visual Studio 2022 ' de kapsayıcılar penceresi kullanılabilir; bu, çalışan kapsayıcıları görüntülemenize, kullanılabilir görüntülere gözatmanıza, ortam değişkenlerini, günlüklere ve bağlantı noktası eşlemelerini görüntülemenize, dosya sistemini incelemenize, hata ayıklayıcı eklemenize veya kapsayıcı ortamında bir terminal penceresi açmaya olanak sağlar. Bkz. kapsayıcılar penceresini kullanma.

Docker desteği ekleme

Aşağıdaki ekran görüntüsünde gösterildiği gibi yeni bir proje oluştururken Docker desteğini etkinleştir ' i seçerek proje oluşturma sırasında Docker desteğini etkinleştirebilirsiniz:

Visual Studio ' de yeni ASP.NET Core web uygulaması için docseçiciler desteğinin nasıl etkinleştirileceğini gösteren ekran görüntüsü.

Visual Studio ' de yeni ASP.NET Core web uygulaması için docker desteğinin nasıl etkinleştirileceğini gösteren ekran görüntüsü.

Visual Studio ' de yeni ASP.NET Core web uygulaması için docker desteğinin nasıl etkinleştirileceğini gösteren ekran görüntüsü.

Not

.NET Framework projeler (.net Core değil) için yalnızca Windows kapsayıcılar kullanılabilir.

Çözüm Gezgini' de Docker desteği Ekle ' ye tıklayarak mevcut bir projeye Docker desteği ekleyebilirsiniz. > docker desteği ekleme ve ekleme > kapsayıcı Orchestrator destek komutları, aşağıdaki ekran görüntüsünde gösterildiği gibi, Çözüm Gezgini içindeki bir ASP.NET Core projesi için proje düğümünün sağ tıklama menüsünde (veya bağlam menüsü) bulunur:

Visual Studio Docker desteği menü seçeneğinin nasıl ekleneceğini gösteren ekran görüntüsü.

Visual Studio Docker desteği menü seçeneğinin nasıl ekleneceğini gösteren ekran görüntüsü.

docker desteğini eklediğinizde veya etkinleştirdiğinizde, Visual Studio aşağıdakileri projeye ekler:

  • Dockerfile dosyası
  • bir. dockerıgnore dosyası
  • Microsoft. VisualStudio. Azure. Containers. Tools. Targets için NuGet paketi başvurusu

Eklediğiniz Dockerfile aşağıdaki koda benzeyecektir. Bu örnekte, proje adlandırılmıştı WebApplication-Docker ve Linux kapsayıcıları seçtiniz:

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["WebApplication-Docker/WebApplication-Docker.csproj", "WebApplication-Docker/"]
RUN dotnet restore "WebApplication-Docker/WebApplication-Docker.csproj"
COPY . .
WORKDIR "/src/WebApplication-Docker"
RUN dotnet build "WebApplication-Docker.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication-Docker.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication-Docker.dll"]
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["WebApplication-Docker/WebApplication-Docker.csproj", "WebApplication-Docker/"]
RUN dotnet restore "WebApplication-Docker/WebApplication-Docker.csproj"
COPY . .
WORKDIR "/src/WebApplication-Docker"
RUN dotnet build "WebApplication-Docker.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication-Docker.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication-Docker.dll"]

Not

aşağıdaki ekran görüntüsünde gösterildiği gibi bir ASP.NET projesi (.NET Framework, .net Core projesi değil) için proje oluşturma sırasında docker desteğini etkinleştirdiğinizde, kapsayıcı düzenleme desteği de eklenir.

ASP.NET projesi için docker compose desteğinin nasıl etkinleştirileceğini gösteren ekran görüntüsü.

Kapsayıcılar penceresini kullanma

Kapsayıcılar penceresi, makinenizde kapsayıcıları ve görüntüleri görüntülemenize ve bunlarla neler olduğunu görmenizi sağlar. Dosya sistemini, bağlı birimleri, ortam değişkenlerini, kullanılan bağlantı noktalarını görüntüleyebilir ve günlük dosyalarını inceleyebilirsiniz.

Hızlı Başlat (CTRL + Q) kullanarak ve yazarak kapsayıcılar penceresini açın containers . Pencereyi bir yere yerleştirmek için yerleştirme denetimlerini kullanabilirsiniz. Pencerenin genişliği nedeniyle, ekranın alt kısmına yerleştirildiğinde en iyi sonucu verir.

Bir kapsayıcı seçin ve kullanılabilir bilgileri görüntülemek için sekmeleri kullanın. Kullanıma almak için Docker özellikli uygulamanızı çalıştırın, dosyalar sekmesini açın ve uygulama klasörünü genişleterek dağıtılan uygulamanızı kapsayıcıda görüntüleyin.

Kapsayıcılar penceresinin ekran görüntüsü.

Kapsayıcılar penceresinin ekran görüntüsü.

Daha fazla bilgi için bkz. kapsayıcılar penceresini kullanma.

Docker Compose desteği

Docker Compose kullanarak çok kapsayıcılı bir çözüm oluşturmak istediğinizde, projelerinize kapsayıcı düzenleme desteği ekleyin. Bu, aynı Docker-Compose. yıml dosyasında tanımlandıklarında bir kapsayıcı grubunu (bir bütün çözüm veya proje grubu) aynı anda çalıştırmanızı ve hata ayıklamanıza olanak tanır.

Docker Compose kullanarak kapsayıcı düzenleme desteği eklemek için, Çözüm Gezgini çözüm veya proje düğümüne sağ tıklayın ve > kapsayıcı düzenleme desteği ekle' yi seçin. Sonra kapsayıcıları yönetmek için Docker Compose öğesini seçin.

Projenize kapsayıcı düzenleme desteğini ekledikten sonra, burada gösterildiği gibi, projeye bir Dockerfile (zaten bir tane yoksa) ve Çözüm Gezgini çözüme eklenen bir Docker-Compose klasörü görürsünüz:

Visual Studio Çözüm Gezgini Docker dosyalarının ekran görüntüsü.

Visual Studio Çözüm Gezgini Docker dosyalarının ekran görüntüsü.

docker-compose. yml zaten varsa Visual Studio, yalnızca gerekli olan yapılandırma kodu satırlarını buna ekler.

Docker Compose kullanarak denetlemek istediğiniz diğer projelerle işlemi tekrarlayın.

Çok sayıda hizmetlerle çalışıyorsanız, hata ayıklama oturumunuzda hangi hizmet alt kümesini başlatmak istediğinizi seçerek zaman ve bilgi işlem kaynakları tasarrufu yapabilirsiniz. Bkz. oluşturma hizmetleri alt kümesini başlatma.

Service Fabric desteği

Visual Studio Service Fabric araçlarla azure Service Fabric geliştirebilir ve hata ayıklayın, yerel olarak çalıştırıp hata ayıklayın ve azure 'a dağıtabilirsiniz.

Visual Studio 2017 sürüm 15,9 ve üzeri Azure geliştirme iş yükü yüklü Windows kapsayıcıları ve düzenleme Service Fabric kullanarak kapsayıcılı mikro hizmetler geliştirmeyi destekler.

Visual Studio 2019 ve üzeri, Windows kapsayıcıları ve düzenleme Service Fabric kullanarak kapsayıcılı mikro hizmetler geliştirmeyi destekler.

ayrıntılı bir öğretici için bkz. öğretici: bir .net uygulamasını Windows kapsayıcısında Azure Service Fabric dağıtma.

Azure Service Fabric hakkında daha fazla bilgi için bkz. Service Fabric.

Sürekli teslim ve sürekli tümleştirme (CI/CD)

Visual Studio, otomatik ve sürekli tümleştirme ve hizmet kodunuzda ve yapılandırmanızda yapılan değişikliklerin teslimi için Azure Pipelines ile tümleşir. Çalışmaya başlama için bkz. İlk işlem hattınızı oluşturma.

Daha Service Fabric bkz. Öğretici: ASP.NET CoreProjelerini kullanarak Service Fabric Azure Azure DevOps dağıtma.

Sonraki adımlar

Kapsayıcılarla çalışmaya yönelik hizmet uygulama ve Visual Studio hakkında daha fazla bilgi için aşağıdaki makaleleri okuyun:

Yerel Docker kapsayıcısındaki uygulamalar için hata ayıklama

Visual Studio kullanarak kapsayıcı kayıt defterine ASP.NET kapsayıcısı dağıtma