Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sekilas
Tujuan: Jalankan Proksi Dev di Docker
Waktu: 15 menit
Plugin: Berbagai
Prasyarat: Docker terinstal
Saat menggunakan Dev Proxy, Anda dapat memilih untuk menjalankannya langsung di komputer Anda atau di kontainer Docker. Menjalankan Dev Proxy di Docker adalah cara yang bagus untuk mengisolasinya dari lingkungan lokal Anda. Ini juga menawarkan cara yang konsisten untuk menggunakan Dev Proxy antara komputer lokal anda dan lingkungan CI/CD.
Gunakan gambar Docker Proksi Dev
Demi kenyamanan Anda, kami menyediakan gambar Docker yang siap digunakan dengan Dev Proxy. Anda dapat menggunakannya untuk menjalankan Dev Proxy dalam kontainer Docker. Anda dapat menarik gambar dari GitHub Container Registry, dengan menggunakan perintah berikut:
docker pull ghcr.io/dotnet/dev-proxy:latest
Nota
Untuk mencoba fitur pratinjau terbaru, gunakan versi beta kontainer Dev Proxy.
docker pull ghcr.io/dotnet/dev-proxy:beta
Jika Anda menggunakan Proksi Dev dalam alur CI/CD, pertimbangkan untuk menggunakan versi gambar tertentu, bukan latest atau beta. Dengan cara ini, Anda dapat memastikan bahwa proses kerja Anda tidak terpengaruh oleh perubahan yang merusak yang diperkenalkan dalam versi terbaru Dev Proxy. Misalnya, untuk menggunakan Dev Proxy versi 0.26.0, gunakan perintah berikut:
docker pull ghcr.io/dotnet/dev-proxy:0.26.0
Memulai kontainer Proxy Dev
Untuk memulai kontainer Dev Proxy, gunakan perintah berikut:
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
Setelah Anda menjalankan perintah, Dev Proxy dimulai secara otomatis dan mendengarkan lalu lintas di port 8000. Karena berjalan dalam sebuah kontainer Docker, proses ini tidak otomatis terdaftar sebagai proksi sistem pada host untuk mengambil alih permintaan web. Sebagai gantinya, Anda perlu mengonfigurasi proksi sistem secara manual pada host Anda atau mengonfigurasi proksi untuk aplikasi Anda.
Dengan menjalankan kontainer secara interaktif (menggunakan -it opsi), Anda dapat mengontrol Dev Proxy dari baris perintah. Berinteraksi dengan Dev Proxy sangat membantu, misalnya, untuk memulai dan menghentikan perekaman, menghapus layar, dll. Jika Anda memulai kontainer di latar belakang, Anda masih dapat mengontrol Dev Proxy menggunakan DEV Proxy API.
Parameter-parameternya
Dev Proxy Docker berisi beberapa parameter yang dapat Anda gunakan untuk menyesuaikan perilakunya.
Pelabuhan
Gambar mengekspos port berikut:
- 8000 - port tempat Dev Proxy mendengarkan lalu lintas masuk.
- 8897 - port tempat Dev Proxy mengekspos API-nya. Anda dapat menggunakannya untuk berinteraksi dengan Dev Proxy secara terprogram.
Penting
Pastikan untuk memetakan kedua port ke host Anda, sehingga Anda dapat mengakses Dev Proxy dari komputer lokal Anda dan menggunakan Dev Proxy Toolkit.
Volumes
Gambar mengekspos volume berikut:
-
/config - direktori kerja saat ini tempat kontainer memulai Dev Proxy. Jika folder yang Anda petakan berisi sebuah file
devproxyrc.json, Dev Proxy secara otomatis menggunakannya untuk mengonfigurasi sendiri. - /home/devproxy/.config/dev-proxy/rootCert - folder tempat Dev Proxy menyimpan sertifikat akarnya. Dengan memetakan volume ke host Anda, Anda dapat dengan mudah mengakses sertifikat akar dan menginstalnya di sistem atau browser Anda.
Petunjuk / Saran
Atau untuk memetakan sertifikat akar ke host Anda, Anda dapat menggunakan DEV Proxy API untuk mengunduh kunci publik sertifikat akar dalam format PEM (Privacy Enhanced Mail). Untuk mengunduh sertifikat, hubungi GET http://127.0.0.1:8897/proxy/rootCertificate?format=crt endpoint.
Menggunakan Dev Proxy di Docker
Saat Anda memulai kontainer Dev Proxy, kontainer tersebut secara otomatis mendengarkan lalu lintas masuk pada port 8000.
Konfigurasi bawaan
Dev Proxy mencari berkas devproxyrc.json di folder yang dipetakan ke volume /config. Jika menemukan file, ia akan menggunakannya untuk mengonfigurasi dirinya sendiri. Jika tidak menemukan file, sistem akan menggunakan konfigurasi default.
Konfigurasi kustom
Anda dapat menggunakan konfigurasi kustom untuk Dev Proxy dengan membuat devproxyrc.json file di folder yang Anda petakan ke /config volume. Atau, Anda dapat menentukan file konfigurasi menggunakan --config-file parameter saat memulai Dev Proxy. Misalnya, untuk menggunakan myconfig.json file, gunakan perintah berikut:
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
File konfigurasi yang Anda tentukan harus dapat diakses dari kontainer. Jika Anda menggunakan jalur relatif, jalur tersebut harus relatif terhadap /config volume.
Opsi lainnya
Jika Anda ingin menggunakan opsi lain, Anda dapat menentukannya dengan cara yang sama seperti saat menjalankan Dev Proxy langsung di komputer Anda. Misalnya, untuk menentukan URL yang akan ditonton, gunakan perintah berikut:
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/*"