Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При использовании прокси-сервера разработки его можно запустить непосредственно на компьютере или в контейнере Docker. Запуск прокси-сервера разработки в Docker — отличный способ изолировать его от локальной среды. Он также предлагает единообразный способ использования Dev Proxy между вашим локальным компьютером и средами CI/CD.
Используйте образ Docker для Dev Proxy
Для удобства мы предоставляем готовый образ Docker с прокси-сервером разработки. Его можно использовать для запуска прокси-сервера разработки в контейнере Docker. Вы можете извлечь образ из реестра контейнеров GitHub, выполнив следующую команду:
docker pull ghcr.io/dotnet/dev-proxy:latest
Замечание
Чтобы попробовать последние предварительные версии функций, используйте бета-версию контейнера прокси-сервера разработки.
docker pull ghcr.io/dotnet/dev-proxy:beta
Если вы используете Dev Proxy в конвейере CI/CD, рекомендуется использовать конкретную версию образа вместо использования latest
или beta
. Таким образом, вы можете убедиться, что ваш поток не подвержен влиянию ломающих изменений, внесённых в последнюю версию Dev Proxy. Например, чтобы использовать прокси-сервер разработки версии 0.26.0, используйте следующую команду:
docker pull ghcr.io/dotnet/dev-proxy:0.26.0
Запуск контейнера прокси-сервера разработки
Чтобы запустить контейнер прокси-сервера разработки, используйте следующую команду:
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
После выполнения команды прокси-сервер разработки запускается автоматически и прослушивает трафик через порт 8000. Так как он работает в контейнере Docker, он не регистрируется в качестве системного прокси-сервера на узле для перехвата веб-запросов. Вместо этого необходимо вручную настроить системный прокси-сервер на узле или настроить прокси-сервер для приложения.
Интерактивным запуском контейнера (с помощью -it
параметров) можно управлять прокси-сервером разработки из командной строки. Взаимодействие с прокси-сервером разработки полезно, например для запуска и остановки записи, очистки экрана и т. д. Если вы запускаете контейнер в фоновом режиме, вы по-прежнему можете управлять прокси-сервером разработки с помощью API прокси-сервера разработки.
Параметры
Docker прокси-сервера разработки содержит несколько параметров, которые можно использовать для настройки его поведения.
Порты
Изображение предоставляет следующие порты:
- 8000 — порт, на котором прокси-сервер разработки прослушивает входящий трафик.
- 8897 — порт, на котором прокси-сервер разработки предоставляет свой API. Его можно использовать для программного взаимодействия с прокси-сервером разработки.
Это важно
Не забудьте связать оба порта с хостом, чтобы можно было получить доступ к Dev Proxy с локального компьютера и использовать Dev Proxy Toolkit.
Объемы
Изображение отображает следующие тома:
-
/config — текущий рабочий каталог, из которого контейнер запускает прокси-сервер разработки. Если папка, которую вы сопоставили, содержит файл
devproxyrc.json
, Dev Proxy автоматически использует его для настройки. - /home/devproxy/.config/dev-proxy/rootCert — папка, в которой dev Proxy хранит корневой сертификат. При сопоставлении дискового тома с вашим хостом, вы можете легко получить доступ к корневому сертификату и установить его в вашей системе или браузере.
Подсказка
Кроме того, чтобы сопоставить корневой сертификат с узлом, можно использовать API прокси-сервера разработки для скачивания открытого ключа корневого сертификата в формате PEM (расширенная почта конфиденциальности). Чтобы скачать сертификат, вызовите конечную точку GET http://127.0.0.1:8897/proxy/rootCertificate?format=crt
.
Использование прокси-сервера разработки в Docker
При запуске контейнера прокси-сервера разработки он автоматически запускает прослушивание входящего трафика через порт 8000.
Конфигурация по умолчанию
Прокси-сервер разработки ищет devproxyrc.json
файл в папке, сопоставленной с томом /config
. Если он находит файл, он использует его для настройки. Если он не находит файл, он использует конфигурацию по умолчанию.
Настраиваемая конфигурация
Вы можете использовать настраиваемую конфигурацию для прокси-сервера разработки, создав devproxyrc.json
файл в папке, которую вы сопоставляете с томом /config
. Кроме того, можно указать файл конфигурации с помощью --config-file
параметра при запуске прокси-сервера разработки. Например, чтобы использовать myconfig.json
файл, используйте следующую команду:
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
Указанный файл конфигурации должен быть доступен из контейнера. Если используется относительный путь, он должен быть относительно тома /config
.
Другие варианты
Если вы хотите использовать другие параметры, их можно указать так же, как при запуске прокси-сервера разработки непосредственно на компьютере. Например, чтобы указать URL-адреса для просмотра, используйте следующую команду:
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/*"