Aracılığıyla paylaş


Docker kapsayıcısında Dev Proxy kullanma

Dev Proxy kullanırken, doğrudan makinenizde veya docker kapsayıcısında çalıştırmayı seçebilirsiniz. Docker'da Dev Proxy çalıştırmak, yerel ortamınızdan yalıtmak için harika bir yoldur. Ayrıca yerel makineniz ile CI/CD ortamları arasında Geliştirici Proxy'si kullanmanın tutarlı bir yolunu sunar.

Dev Proxy Docker görüntüsünü kullanma

Size kolaylık sağlamak için Dev Proxy ile Docker görüntüsünü kullanmaya hazır bir görüntü sunuyoruz. Docker kapsayıcısında Dev Proxy çalıştırmak için bunu kullanabilirsiniz. Aşağıdaki komutu kullanarak görüntüyü GitHub Container Registry'den çekebilirsiniz:

docker pull ghcr.io/dotnet/dev-proxy:latest

Uyarı

En son önizleme özelliklerini denemek için Dev Proxy kapsayıcısının beta sürümünü kullanın.

docker pull ghcr.io/dotnet/dev-proxy:beta

CI/CD işlem hattında Dev Proxy kullanıyorsanız, latest veya beta yerine görüntünün belirli bir sürümünü kullanmayı göz önünde bulundurun. Bu şekilde, işlem hattınızın Dev Proxy'nin en son sürümünde sunulan hataya neden olan değişikliklerden etkilenmediğinden emin olabilirsiniz. Örneğin, Dev Proxy sürüm 0.26.0'ı kullanmak için aşağıdaki komutu kullanın:

docker pull ghcr.io/dotnet/dev-proxy:0.26.0

Geliştirme Ara Sunucusu kapsayıcısını başlat

Dev Proxy kapsayıcısını başlatmak için aşağıdaki komutu kullanın:

docker run \
    # remove the container when it exits
    --rm \
    # run the container interactively
    -it \
    # map Dev Proxy ports to the host
    -p 8000:8000 -p 8897:8897 \
    # map volumes to the host. Create the `cert` folder in the current working directory before running the command
    -v ${PWD}:/config -v ${PWD}/cert:/home/devproxy/.config/dev-proxy/rootCert \
    # specify the image to use
    ghcr.io/dotnet/dev-proxy:0.26.0

Komutu çalıştırdıktan sonra Dev Proxy otomatik olarak başlatılır ve 8000 numaralı bağlantı noktasında trafiği dinler. Docker kapsayıcısında çalıştığı için, web isteklerini kesmek üzere otomatik olarak ana bilgisayarda bir sistem proxy'si olarak kaydedilmez. Bunun yerine, ana bilgisayarınızda sistem proxy'sini el ile yapılandırmanız veya uygulamanız için ara sunucuyu yapılandırmanız gerekir.

Kapsayıcıyı etkileşimli olarak çalıştırarak (seçenekleri kullanarak -it ), komut satırından Dev Proxy'yi denetleyebilirsiniz. Dev Proxy ile etkileşime geçme, örneğin kaydı başlatma ve durdurma, ekranı temizleme vb. için yararlıdır. Kapsayıcıyı arka planda başlatırsanız, Yine de Dev Proxy'yi Dev Proxy API'sini kullanarak denetleyebilirsiniz.

Parametreler

Dev Proxy Docker, davranışını özelleştirmek için kullanabileceğiniz çeşitli parametreler içerir.

Limanlar

Görüntü aşağıdaki bağlantı noktalarını gösterir.

  • 8000 - Dev Proxy'nin gelen trafiği dinlediği bağlantı noktası.
  • 8897 - Dev Proxy'nin API'sini kullanıma sunduğu bağlantı noktası. Geliştirme Proxy'si ile program aracılığıyla etkileşime geçmek için bunu kullanabilirsiniz.

Önemli

Yerel makinenizden Dev Proxy'ye erişebilmek ve Dev Proxy Araç Seti'ni kullanabilmek için her iki bağlantı noktasını da ana bilgisayarınızla eşlediğinizden emin olun.

Volümler

Görüntü aşağıdaki hacimleri ortaya çıkarır:

  • /config - Kapsayıcının Dev Proxy'yi başlattığı geçerli çalışma dizini. Haritaladığınız klasör bir devproxyrc.json dosya içeriyorsa, Dev Proxy kendini yapılandırmak için otomatik olarak kullanılır.
  • /home/devproxy/.config/dev-proxy/rootCert - Dev Proxy'nin kök sertifikasını depoladığı klasör. Hacmi ana makinenize bağlayarak kök sertifikaya kolayca erişebilir ve sisteminize veya tarayıcınıza yükleyebilirsiniz.

İpucu

Kök sertifikayı ana bilgisayarınıza eşlemek için alternatif olarak, KÖK sertifikanın ortak anahtarını PEM (Gizlilik Gelişmiş Posta) biçiminde indirmek için Dev Proxy API'sini kullanabilirsiniz. Sertifikayı indirmek için uç noktayı çağırın GET http://127.0.0.1:8897/proxy/rootCertificate?format=crt .

Docker'da Dev Proxy kullanma

Dev Proxy kapsayıcısını başlattığınızda, 8000 numaralı bağlantı noktasında gelen trafiği dinleyen Dev Proxy otomatik olarak başlatılır.

Varsayılan yapılandırma

Dev Proxy, birimle devproxyrc.json eşlediğiniz /config klasördeki dosyayı arar. Dosyayı bulursa, kendisini yapılandırmak için kullanır. Dosyayı bulamazsa varsayılan yapılandırmayı kullanır.

Özel yapılandırma

Birimle eşlediğiniz /config klasörde dosyayı oluşturarak devproxyrc.json Dev Proxy için özel yapılandırmayı kullanabilirsiniz. Alternatif olarak, Geliştirme Proxy'sini başlatırken parametresini --config-file kullanarak yapılandırma dosyasını belirtebilirsiniz. Örneğin, dosyayı kullanmak myconfig.json için aşağıdaki komutu kullanın:

docker run \
    # remove the container when it exits
    --rm \
    # run the container interactively
    -it \
    # map Dev Proxy ports to the host
    -p 8000:8000 -p 8897:8897 \
    # map volumes to the host. Create the `cert` folder in the current working directory before running the command
    -v ${PWD}:/config -v ${PWD}/cert:/home/devproxy/.config/dev-proxy/rootCert \
    # specify the image to use
    ghcr.io/dotnet/dev-proxy:0.26.0 \
    # specify the configuration file to use
    --config-file /config/myconfig.json

Belirttiğiniz yapılandırma dosyasına kapsayıcıdan erişilebilir olmalıdır. Eğer göreli bir yol kullanıyorsanız, bu yol /config birimine göre olmalıdır.

Diğer seçenekler

Diğer seçenekleri kullanmak istiyorsanız, bunları doğrudan makinenizde Dev Proxy çalıştırırken yaptığınız gibi belirtebilirsiniz. Örneğin, izleyebileceğiniz URL'leri belirtmek için aşağıdaki komutu kullanın:

docker run \
    # remove the container when it exits
    --rm \
    # run the container interactively
    -it \
    # map Dev Proxy ports to the host
    -p 8000:8000 -p 8897:8897 \
    # map volumes to the host. Create the `cert` folder in the current working directory before running the command
    -v ${PWD}:/config -v ${PWD}/cert:/home/devproxy/.config/dev-proxy/rootCert \
    # specify the image to use
    ghcr.io/dotnet/dev-proxy:0.26.0 \
    # specify the URLs to watch
    --urls-to-watch "https://example.com/*"