Aracılığıyla paylaş


Visual Studio Kapsayıcı Araçları'nı yapılandırma

Kapsayıcı Araçları ayarlarını kullanarak Visual Studio'nun Docker kapsayıcılarıyla nasıl çalıştığının bazı yönlerini denetleyebilirsiniz. Bu makalede, Docker kapsayıcılarıyla çalışırken Visual Studio performansını ve kaynak kullanımını etkileyebilecek Kapsayıcı Araçları ayarlarının nasıl yapılandırılacağı açıklanır.

Önkoşullar

Önkoşullar

Kapsayıcı Araçları ayarları

Ayarlara erişmek için ana Visual Studio menüsünden Araçlar > Seçenekleri'ni seçin. Sol bölmede aşağı kaydırın ve Kapsayıcı Araçları'nı genişletin.

Genel ayarlar

Visual Studio Kapsayıcı Araçları seçeneklerinin ekran görüntüsü.

Aşağıdaki tabloda Genel ayarlar açıklanmaktadır:

Ayarlar Varsayılan değer Açıklama
Gerekirse Docker Desktop'ı yükleyin Bana sor Docker Desktop'ın yüklü olup olmadığının sorulmasını isteyip istemediğinizi seçin.
Gerekirse Docker Desktop'ı başlatın Bana sor Docker Desktop başlatılmadıysa, otomatik olarak başlatılıp başlatılmayacağını veya size sorulup sorulmayacağını seçin.
ASP.NET Core SSL sertifikasına güvenin Bana sor Bir ASP.NET Core projesinde SSL sertifikasına localhost güvenilip güvenilmediğinin sorulup sorulmayacağını seçin.

Visual Studio Kapsayıcı Araçları seçeneklerinin ekran görüntüsü.

Aşağıdaki tabloda Genel ayarlar açıklanmaktadır:

Ayarlar Varsayılan değer Açıklama
Yükleme yapılmadığında kapsayıcı çalışma zamanını yükleme istemi Etkinleştirildi Docker Desktop veya Podman yüklü değilse sorulmasını isteyip istemediğinizi seçin.
ASP.NET Çekirdek SSL sertifikasına güvenme istemi Bir ASP.NET Core projesinde SSL sertifikasına localhost güvenilip güvenilmediğinin sorulup sorulmayacağını seçin.
Gerekirse kapsayıcı çalışma zamanını başlat Bana sor Docker Desktop veya Podman başlatılmadıysa, otomatik olarak başlatılıp başlatılmayacağını veya sizden istenip istenmeyeceğini seçin.
Kapsayıcı yürütme ortamı Auto Kapsayıcı çalışma zamanını seçin; Docker ve Podman desteklenir. Visual Studio'nun hangi çalışma zamanını kullandığınızı algılamasını isteyip istemediğinizi seçinAuto .

Önemli

Çekirdek SSL sertifikasına ASP.NET Güven'iHiçbir zaman olarak ayarlarsanız ve SSL sertifikasına localhost güvenilmiyorsa, HTTPS web istekleri çalışma zamanında başarısız olabilir. Bu durumda, Güven ASP.NET Çekirdek SSL sertifikasınıBana sor olarak ayarlayın, projenizi çalıştırın ve istemde güveni belirtin.

Tek Proje veya Docker Oluşturma ayarları

Container Tools Single Project ve Docker Compose ayarları aynıdır.

Visual Studio 2022 Kapsayıcı Araçları seçeneklerinin ekran görüntüsü.

Aşağıdaki tabloda Tek Proje ve Docker Compose ayarları açıklanmaktadır:

Ayarlar Varsayılan değer Açıklama
Proje açıkken gerekli Docker görüntülerini çekin Doğru Bir kapsayıcı projesi yüklerken bir arka plan Docker çekme işleminin başlatılıp başlatılmayacağı. Kodunuzu çalıştırmaya hazır olduğunuzda gerekli görüntüler indirilir veya indirilir. Yalnızca koda göz atmak istiyorsanız, ihtiyacınız olmayan kapsayıcı görüntülerini indirmekten kaçınmak için False olarak ayarlayabilirsiniz.
Proje açılışında güncelleştirilmiş Docker görüntülerini çekin .NET Core projeleri En son güncelleştirmeleri almak için projedeki tüm görüntüler için bir Docker çekme işleminin çalıştırılıp çalıştırılmayacağı veya hangi projelerde çalıştırılacağı.
Proje açılışında kapsayıcıları çalıştırma Doğru Bir kapsayıcı projesi yüklerken bir kapsayıcı oluşturulup oluşturulmayacağı, böylece derleyip çalıştırdığınızda hazır olur. Kapsayıcınızın ne zaman oluşturulduğunu denetlemeyi tercih ediyorsanız False olarak ayarlayın.
Proje kapanışındaki kapsayıcıları kaldırın Doğru Çözümü kapattıktan veya Visual Studio'yu kapattıktan sonra çözümünüz için kapsayıcıları kaldırıp kaldırmayacağınız.
Azure Kimlik Doğrulaması'nı etkinleştirmek için kapsayıcılarda bir hizmet çalıştırın Doğru Visual Studio sürüm 17.6 veya üzeri için, Azure Kimlik Doğrulaması'nı etkinleştirmek için kapsayıcıya bir belirteç proxy hizmeti yükleyip çalıştırmayacağınız. Bu hizmet, uygulamalarınızın geliştirme sırasında Azure hizmetlerini kullanmasına olanak tanır. Daha fazla bilgi için Azure kimlik doğrulamasını yapılandırma bölümüne bakın.
Çalışırken Yeniden Yükleme'yi etkinleştirmek için kapsayıcılarda bir hizmet çalıştırın Doğru Visual Studio sürüm 17.7 ve üzeri için, Çalışırken Yeniden Yükleme hizmetinin yüklenip çalıştırılmayacağı. Bu hizmet yalnızca hata ayıklama olmadan çalıştırmayı destekler, Ctrl+F5.

Container Warmup bölümündeki aşağıdaki ayarlar, Visual Studio'nun hizmetleri başlatarak ve görüntüleri beklenen kullanımdan önce hazırlayarak performansı nasıl iyileştirdiği denetlenir.

Ayarlar Varsayılan değer Açıklama
Proje açıkken gerekli görüntüleri çekme Etkinleştirildi Bir kapsayıcı projesi yüklerken bir arka plan Docker çekme işleminin başlatılıp başlatılmayacağı. Kodunuzu çalıştırmaya hazır olduğunuzda gerekli görüntüler indirilir veya indirilir. Yalnızca koda göz atmak istiyorsanız, ihtiyacınız olmayan kapsayıcı görüntülerini indirmekten kaçınmak için False olarak ayarlayabilirsiniz.
Proje açılışında kapsayıcıları çalıştırma Doğru Bir kapsayıcı projesi yüklerken bir kapsayıcı oluşturulup oluşturulmayacağı, böylece derleyip çalıştırdığınızda hazır olur. Kapsayıcınızın ne zaman oluşturulduğunu denetlemeyi tercih ediyorsanız False olarak ayarlayın.
Proje kapanışındaki kapsayıcıları kaldırın Doğru Çözümü kapattıktan veya Visual Studio'yu kapattıktan sonra çözümünüz için kapsayıcıları kaldırıp kaldırmayacağınız.

Hata Ayıklama bölümünde aşağıdaki ayarlar görüntülenir:

Ayarlar Varsayılan değer Açıklama
Azure Kimlik Doğrulaması'nı etkinleştirmek için kapsayıcılarda bir hizmet çalıştırın Etkinleştirildi Azure Kimlik Doğrulaması'nı etkinleştirmek için kapsayıcıda bir belirteç ara sunucusu hizmetinin yüklenip çalıştırılması gerekip gerekmediği. Bu hizmet, uygulamalarınızın geliştirme sırasında Azure hizmetlerini kullanmasına olanak tanır. Daha fazla bilgi için Azure kimlik doğrulamasını yapılandırma bölümüne bakın.
Çalışırken Yeniden Yükleme'yi etkinleştirmek için kapsayıcılarda bir hizmet çalıştırın Etkinleştirildi Hot Reload hizmetinin yüklenip çalıştırılmayacağı. Bu hizmet yalnızca hata ayıklama olmadan çalıştırmayı destekler, Ctrl+F5.

Kapsayıcılar Pencere ayarları

Kapsayıcılar Penceresi ayarları, Docker kapsayıcıları ve görüntüleri hakkında bilgi gösteren Visual Studio IDE'deki Kapsayıcılar penceresi için geçerlidir. Daha fazla bilgi için bkz. Kapsayıcılar penceresini kullanma.

Kapsayıcılar Penceresi için kullanılabilen ayarları gösteren Visual Studio Kapsayıcı Araçları Seçenekleri'nin ekran görüntüsü.

Aşağıdaki tabloda Kapsayıcılar Penceresi ayarları açıklanmaktadır:

Ayarlar Varsayılan değer Açıklama
Kapları budamadan önce onaylayın Her zaman Kullanılmayan kapları budarken size sorulup sorulmayacağı.
Görüntüleri budamadan önce onaylayın Her zaman Kullanılmayan görüntüleri budarken size sorulup sorulmayacağı.
Bir kabı çıkarmadan önce onaylayın Her zaman Bir kabı çıkarırken size sorulup sorulmayacağı.
Bir görüntüyü kaldırmadan önce onaylayın Her zaman Bir görüntüyü kaldırırken size sorulup sorulmayacağı.
Çok sayıda görüntüyü çalıştırmadan önce onaylayın Her zaman Aynı anda 10'dan fazla görüntüden kapsayıcıları başlatmadan önce size sorulup sorulmayacağı.
Kapsayıcılar penceresinde kullanılacak dize biçimini görüntüleme Boş {ContainerName}, {ImageName}, {ProjectName} ve {ContainerID} belirteçleri desteğiyle Kapsayıcılar penceresinde kullanılacak bir görüntü dizesi biçimi.
Kapsayıcıları Docker Compose projesine göre gruplandırma Her zaman Kapsayıcıların parçası oldukları Docker Compose projesine göre gruplandırılıp gruplandırılmayacağı.

Azure kimlik doğrulamasını yapılandırma

Uygulamanız Azure hizmetlerini kullanıyorsa, bir kapsayıcıda çalışırken Azure hizmetleriyle kimlik doğrulaması yapmak için uygun kimlik bilgilerine ihtiyaç duyar. Geliştirme sırasında genellikle kendi Azure kimlik bilgilerinizi kullanabilirsiniz, ancak kapsayıcı ortamında çalıştırmak için kapsayıcılı uygulamanın üretimde kullandığı kimlik bilgileri gerekir.

Visual Studio 2022 sürüm 17.6 ve üzeri, uygulamalarınızın ve hizmetlerinizin Azure'da kimlik doğrulamasına yardımcı olmak için tek kapsayıcılı ve Docker Compose projelerinizde bir belirteç proxy hizmeti dağıtır ve çalıştırır. Bu özellik için Azure Identity 1.9.0 veya üzeri gerekir.

Bu hizmet etkinleştirildiğinde, herhangi bir ek yapılandırma veya kurulum olmadan kapsayıcı içindeki çoğu Azure hizmetini otomatik olarak kullanabilirsiniz. Kodunuz, Azure hizmetleriyle bir kapsayıcının dışındakiyle aynı şekilde kimlik DefaultAzureCredential doğrulaması yapabilir ve VisualStudioCredential kullanabilir. Daha fazla bilgi için Azure Identity 1.9.0 README'ye bakın.

Bu özelliği devre dışı bırakmak için Kapsayıcı AraçlarıTek Proje veya Docker Compose ayarlarındaAzure Kimlik Doğrulaması'nı etkinleştirmek için Kapsayıcılarda bir hizmet çalıştır'ıFalse olarak ayarlayın.

Dikkat

Belirteç proxy'sinin kullanılması ve belirli tanılama günlüklerinin etkinleştirilmesi olası bir güvenlik sorunu oluşturur. Bu günlükler, kimlik doğrulama kimlik bilgilerini düz metin olarak kullanıma sunabilir. Aşağıdaki ortam değişkenleri bu günlükleri etkinleştirir:

  • Tek kapsayıcı projeleri için, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLEDoturum açan %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Docker Compose projeleri için, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, oturum açan %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.

Kapsayıcılar Pencere ayarları

Kapsayıcılar Penceresi ayarları, Docker kapsayıcıları ve görüntüleri hakkında bilgi gösteren Visual Studio IDE'deki Kapsayıcılar penceresi için geçerlidir. Daha fazla bilgi için bkz. Kapsayıcılar penceresini kullanma.

Aşağıdaki tabloda Kapsayıcılar Penceresi ayarları açıklanmaktadır:

Ayarlar Varsayılan değer Açıklama
Kapları budamadan önce onaylayın Etkinleştirildi Kullanılmayan kapları budarken size sorulup sorulmayacağı.
Görüntüleri budamadan önce onaylayın Etkinleştirildi Kullanılmayan görüntüleri budarken size sorulup sorulmayacağı.
Bir kabı çıkarmadan önce onaylayın Etkinleştirildi Bir kabı çıkarırken size sorulup sorulmayacağı.
Bir görüntüyü kaldırmadan önce onaylayın Etkinleştirildi Bir görüntüyü kaldırırken size sorulup sorulmayacağı.
Çok sayıda görüntüyü çalıştırmadan önce onaylayın Etkinleştirildi Aynı anda 10'dan fazla görüntüden kapsayıcıları başlatmadan önce size sorulup sorulmayacağı.
Kapsayıcılar penceresinde kullanılacak dize biçimini görüntüleme Boş {ContainerName}, {ImageName}, {ProjectName} ve {ContainerID} belirteçleri desteğiyle Kapsayıcılar penceresinde kullanılacak bir görüntü dizesi biçimi.
Kapsayıcıları Docker Compose projesine göre gruplandırma Etkinleştirildi Kapsayıcıların parçası oldukları Docker Compose projesine göre gruplandırılıp gruplandırılmayacağı.

Azure kimlik doğrulamasını yapılandırma

Uygulamanız Azure hizmetlerini kullanıyorsa, bir kapsayıcıda çalışırken Azure hizmetleriyle kimlik doğrulaması yapmak için uygun kimlik bilgilerine ihtiyaç duyar. Geliştirme sırasında genellikle kendi Azure kimlik bilgilerinizi kullanabilirsiniz, ancak kapsayıcı ortamında çalıştırmak için kapsayıcılı uygulamanın üretimde kullandığı kimlik bilgileri gerekir.

Visual Studio, uygulama ve hizmetlerinizin Azure'da kimlik doğrulaması yapmalarına yardımcı olmak için tek kapsayıcılı ve Docker Compose projelerinizde bir belirteç ara sunucusu hizmeti dağıtır ve çalıştırır. Bu özellik için Azure Identity 1.9.0 veya üzeri gerekir.

Bu hizmet etkinleştirildiğinde, herhangi bir ek yapılandırma veya kurulum olmadan kapsayıcı içindeki çoğu Azure hizmetini otomatik olarak kullanabilirsiniz. Kodunuz, Azure hizmetleriyle bir kapsayıcının dışındakiyle aynı şekilde kimlik DefaultAzureCredential doğrulaması yapabilir ve VisualStudioCredential kullanabilir. Daha fazla bilgi için Azure Identity 1.9.0 README'ye bakın.

Bu özelliği devre dışı bırakmak için Kapsayıcı AraçlarıTek Proje veya Docker Compose ayarlarındaAzure Kimlik Doğrulaması'nı etkinleştirmek için Kapsayıcılarda bir hizmet çalıştır'ıFalse olarak ayarlayın.

Dikkat

Belirteç proxy'sinin kullanılması ve belirli tanılama günlüklerinin etkinleştirilmesi olası bir güvenlik sorunu oluşturur. Bu günlükler, kimlik doğrulama kimlik bilgilerini düz metin olarak kullanıma sunabilir. Aşağıdaki ortam değişkenleri bu günlükleri etkinleştirir:

  • Tek kapsayıcı projeleri için, MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLEDoturum açan %tmp%\Microsoft.VisualStudio.Containers.Tools.
  • Docker Compose projeleri için, MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, oturum açan %tmp%\Microsoft.VisualStudio.DockerCompose.Tools.