Delen via


Dev Proxy gebruiken in een Docker-container

Wanneer u Dev Proxy gebruikt, kunt u ervoor kiezen om deze rechtstreeks op uw computer of in een Docker-container uit te voeren. Het uitvoeren van dev-proxy in Docker is een uitstekende manier om deze te isoleren van uw lokale omgeving. Het biedt u ook een consistente manier om Dev Proxy te gebruiken tussen uw lokale computer en CI/CD-omgevingen.

Gebruik de Dev Proxy Docker-image

Voor uw gemak bieden we een gebruiksklare Docker-image met Dev Proxy. U kunt deze gebruiken om Dev Proxy uit te voeren in een Docker-container. U kunt de installatiekopie ophalen uit het GitHub Container Registry met behulp van de volgende opdracht:

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

Opmerking

Gebruik de bètaversie van de Dev Proxy-container om de nieuwste preview-functies uit te proberen.

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

Als u Dev Proxy in een CI/CD-pijplijn gebruikt, overweeg dan een specifieke versie van de images te gebruiken in plaats van latest of beta. Op deze manier kunt u ervoor zorgen dat uw pijplijn niet wordt beïnvloed door belangrijke wijzigingen die zijn geïntroduceerd in de nieuwste versie van Dev Proxy. Als u bijvoorbeeld Dev Proxy versie 0.26.0 wilt gebruiken, gebruikt u de volgende opdracht:

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

De Dev Proxy-container starten

Gebruik de volgende opdracht om de Dev Proxy-container te starten:

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

Nadat u de opdracht hebt uitgevoerd, wordt Dev Proxy automatisch gestart en wordt geluisterd naar verkeer op poort 8000. Omdat deze wordt uitgevoerd in een Docker-container, wordt deze niet automatisch geregistreerd als een systeemproxy op de host om webaanvragen te onderscheppen. In plaats daarvan moet u de systeemproxy op uw host handmatig configureren of de proxy voor uw toepassing configureren.

Door de container interactief uit te voeren (met behulp van de -it opties), kunt u Dev Proxy beheren vanaf de opdrachtregel. Interactie met Dev Proxy is bijvoorbeeld handig voor het starten en stoppen van de opname, het wissen van het scherm, enzovoort. Als u de container op de achtergrond start, kunt u nog steeds Dev Proxy beheren met behulp van de Dev Proxy-API.

Parameterwaarden

De Dev Proxy Docker bevat verschillende parameters die u kunt gebruiken om het gedrag ervan aan te passen.

Poorten

In de afbeelding worden de volgende poorten weergegeven:

  • 8000 : de poort waarop Dev Proxy luistert naar binnenkomend verkeer.
  • 8897 : de poort waarop dev proxy de API beschikbaar maakt. U kunt het programma gebruiken om programmatisch met Dev Proxy te communiceren.

Belangrijk

Zorg ervoor dat u beide poorten toe te wijzen aan uw host, zodat u toegang hebt tot Dev Proxy vanaf uw lokale computer en Dev Proxy Toolkit kunt gebruiken.

Volumina

In de afbeelding worden de volgende volumes weergegeven:

  • /config : de huidige werkmap van waaruit de container Dev Proxy start. Als de map die u toewijst een devproxyrc.json bestand bevat, gebruikt Dev Proxy dat bestand automatisch om zichzelf te configureren.
  • /home/devproxy/.config/dev-proxy/rootCert - de map waarin Dev Proxy het basiscertificaat opslaat. Door het volume toe te voegen aan uw host, hebt u eenvoudig toegang tot het basiscertificaat en kunt u het in uw systeem of browser installeren.

Hint

In plaats van het basiscertificaat aan uw host toe te wijzen, kunt u de Dev Proxy API gebruiken om de openbare sleutel van het basiscertificaat te downloaden in het PEM-formaat (Privacy Enhanced Mail). Als u het certificaat wilt downloaden, roept u het GET http://127.0.0.1:8897/proxy/rootCertificate?format=crt eindpunt aan.

Dev Proxy gebruiken in Docker

Wanneer u de Dev Proxy-container start, wordt de Dev Proxy automatisch gestart om te luisteren naar binnenkomend verkeer op poort 8000.

Standaardconfiguratie

Dev Proxy zoekt naar het devproxyrc.json bestand in de map die u aan het /config volume toe wijst. Als het bestand wordt gevonden, wordt het gebruikt om zichzelf te configureren. Als het bestand niet wordt gevonden, wordt de standaardconfiguratie gebruikt.

Aangepaste configuratie

U kunt aangepaste configuratie voor Dev Proxy gebruiken door het devproxyrc.json-bestand te maken in de map die u aan de /config-volume koppelt. U kunt ook het configuratiebestand opgeven met behulp van de parameter bij het --config-file starten van dev proxy. Als u bijvoorbeeld het myconfig.json bestand wilt gebruiken, gebruikt u de volgende opdracht:

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

Het configuratiebestand dat u opgeeft, moet toegankelijk zijn vanuit de container. Als u een relatief pad gebruikt, moet het relatief zijn ten opzichte van het /config volume.

Andere opties

Als u andere opties wilt gebruiken, kunt u deze op dezelfde manier opgeven als wanneer u Dev Proxy rechtstreeks op uw computer uitvoert. Als u bijvoorbeeld de URL's wilt opgeven die u wilt bekijken, gebruikt u de volgende opdracht:

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/*"