Aracılığıyla paylaş


Konteyner birimi eşleştirmesini özelleştirme

Kapsayıcılarda hata ayıklayabilmek için Visual Studio, konak makineden hata ayıklayıcı ve NuGet klasörlerini haritalamak için birim eşlemesini kullanır. Birim eşlemesi, burada Docker belgelerinde açıklanmıştır. Visual Studio Kapsayıcıları penceresini kullanarak kapsayıcının birim eşlemelerini görüntüleyebilirsiniz.

Önkoşullar

Visual Studio kapsayıcı görüntülerindeki birim bağlamaları

Kapsayıcınıza bağlanan birimler aşağıdadır. Kapsayıcılarınızda gördükleriniz, kullandığınız Visual Studio'nun ikincil sürümüne bağlı olarak farklılık gösterebilir.

Hacim Açıklama
uygulama klasörü Dockerfile dosyasının bulunduğu proje klasörünü içerir.
NuGet paketleri klasörleri Projedeki obj{project}.csproj.nuget.g.props dosyasından okunan NuGet paketlerini ve geri dönüş klasörlerini içerir.
uzak hata ayıklayıcı Proje türüne bağlı olarak kapsayıcıda hata ayıklayıcısını çalıştırmak için gereken bitleri içerir. Daha fazla bilgi için bkz. hata ayıklama için kapsayıcı görüntülerini özelleştirme.
kaynak klasörü Docker komutlarına geçirilen yapı bağlamını içerir.
VSTools Hata ayıklayıcısı, Kapsayıcıları penceresi, Azure belirteçlerini işleme, Sık Erişimli Yeniden Yükleme aracısı ve Distroless Yardımcısı gibi kapsayıcıyla çalışmayı destekleyen Visual Studio araçlarını içerir.

.NET 8 ve üzeri için, kök dizininde ve kullanıcı sırları ile HTTPS sertifikası içeren uygulama kullanıcısı için ek bağlama noktaları da mevcut olabilir.

Not

Docker Desktop olmadan Linux için Windows Alt Sistemi'nde (WSL) Docker Altyapısı kullanıyorsanız, birim bağlamaları oluştururken Visual Studio'nun WSL yollarını kullanmasını sağlamak için ortam değişkenini VSCT_WslDaemon=1 ayarlayın. Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1 NuGet paketi de gereklidir.

Kapsayıcınıza bağlanan birimler aşağıdadır. Kapsayıcılarınızda gördükleriniz, kullandığınız Visual Studio 2022'nin ikincil sürümüne bağlı olarak farklılık gösterebilir.

Hacim Açıklama
uygulama klasörü Dockerfile dosyasının bulunduğu proje klasörünü içerir.
NuGet paketleri klasörleri Projedeki obj{project}.csproj.nuget.g.props dosyasından okunan NuGet paketlerini ve geri dönüş klasörlerini içerir.
uzak hata ayıklayıcı Proje türüne bağlı olarak kapsayıcıda hata ayıklayıcısını çalıştırmak için gereken bitleri içerir. Daha fazla bilgi için bkz. hata ayıklama için kapsayıcı görüntülerini özelleştirme.
kaynak klasörü Docker komutlarına geçirilen yapı bağlamını içerir.
VSTools Hata ayıklayıcısı, Kapsayıcıları penceresi, Azure belirteçlerini işleme, Sık Erişimli Yeniden Yükleme aracısı ve Distroless Yardımcısı gibi kapsayıcıyla çalışmayı destekleyen Visual Studio araçlarını içerir.

.NET 8 ve üzeri için, kökte ve uygulama kullanıcısı için, kullanıcı sırları ve HTTPS sertifikası içerebilecek ek bağlama noktaları da mevcut olabilir.

Not

Visual Studio 17.10 ve üzeri Docker Desktop olmadan Linux için Windows Alt Sistemi'nde (WSL) Docker Altyapısı kullanıyorsanız, birim bağlamaları oluştururken Visual Studio'nun WSL yollarını kullanmasını sağlamak için ortam değişkenini VSCT_WslDaemon=1 ayarlayın. Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1 NuGet paketi de gereklidir.

ASP.NET Core web uygulamaları için SSL sertifikası ve kullanıcı sırları için iki ek klasör daha olabilir, bu durum Kapsayıcılı ASP.NET Core uygulamaları için SSL kullanma bölümünde daha ayrıntılı olarak açıklanmıştır.

Kapsayıcı birimi bağlama

docker run komut satırı argümanlarını kullanarak başka bir birim bağlayabilirsiniz.

  1. Kapsayıcılı proje için proje dosyasını açın.

  2. Yeni bir komut satırı bağımsız değişkeni belirtmek için, DockerfileRunArgumentsMSBuild özelliğini ekleyin ve -v veya --mount söz dizimini sağlayın. Örneğin, aşağıdaki söz dizimi birim myvolume'ı oluşturur ve onu /scratchklasöründeki kapsayıcıya bağlar.

    <PropertyGroup>
       <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments>
    </PropertyGroup>
    

    -v veya --mount seçeneklerinin komut satırı söz dizimi için Docker belgelerine bakın.

Kapsayıcı çalışma zamanı için komut satırı bağımsız değişkenlerini belirterek, docker.exe veya podman.exe kullanarak başka bir birim bağlayabilirsiniz.

  1. Kapsayıcılı proje için launchSettings.json açın.

  2. Yeni bir komut satırı bağımsız değişkeni belirtmek için JSON containerRunArguments ekleyin ve -v veya --mount söz dizimini sağlayın. Örneğin, aşağıdaki söz dizimi birim myvolume'ı oluşturur ve onu /scratchklasöründeki kapsayıcıya bağlar.

    "containerRunArguments": "-v myvolume:/scratch"
    

    Docker -v veya --mount seçeneklerinin komut satırı söz dizimi için kapsayıcı çalışma zamanı sağlayıcısının belgelerine veya Podman -v seçeneğine ve Podman --mount seçeneğine bakın.