Halo, Habr! Containerisasi adalah pendekatan untuk pengembangan perangkat lunak di mana aplikasi atau layanan, dependensinya dan konfigurasinya (file manifest penyebaran abstrak) dikemas bersama menjadi gambar wadah. Di artikel ini, kita akan melihat cara membuat gambar buruh pelabuhan dan menggunakannya untuk menjalankan R, shell Python, dan banyak lagi. Bergabunglah sekarang!

Aplikasi kemas dapat diuji sebagai modul dan digunakan sebagai contoh wadah dalam sistem operasi (OS) dari node saat ini.
Docker adalah
proyek sumber terbuka untuk mengotomatiskan penyebaran aplikasi dalam bentuk portabel, wadah mandiri yang dapat bekerja di cloud atau di tempat. Lihat di
sini untuk informasi lebih lanjut.
Microsoft Machine Learning Server adalah platform perusahaan yang fleksibel untuk analisis data yang dapat diskalakan, membuat aplikasi cerdas, dan menemukan informasi bernilai bisnis dengan dukungan penuh untuk Python dan R. Istilah "
operasionalisasi " berarti penyebaran model dan kode dalam bahasa R dan Python di Microsoft Machine Learning Server dalam bentuk
layanan web dan penggunaan selanjutnya dari layanan ini dalam aplikasi klien untuk meningkatkan efisiensi perusahaan.
Pada artikel ini, kita akan melihat cara membuat gambar buruh pelabuhan yang mengandung
Machine Learning Server 9.3 menggunakan file Docker, dan bagaimana menggunakannya untuk melakukan operasi berikut:
- Jalankan shell R.
- Startup shell Python.
- Luncurkan Jupyter Notebook.
- Luncurkan konfigurasi OneBox.
- Memulai layanan web R.
- Memulai layanan web Python.
Komponen yang Diperlukan
Semua mesin virtual Linux dengan perangkat lunak docker community edition (CE) diinstal. Dalam mempersiapkan artikel ini, saya menggunakan
Ubuntu 16.04 VM dan
menginstal docker CE .
Langkah 1
Pertama, kita akan membuat gambar yang disebut mlserver dengan
Machine Learning Server 9.3 diinstal menggunakan file buruh pelabuhan berikut:
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
Gunakan
perintah pembangunan buruh pelabuhan untuk membuat gambar mlserver menggunakan file buruh pelabuhan di atas:
docker build -f mlserver-dockerfile -t mlserver.
Verifikasi bahwa pembuatan gambar mlserver berhasil diselesaikan dengan menjalankan perintah berikut:
docker images
Peluncuran R Shell
docker run -it mlserver R

Peluncuran shell python
docker run -it mlserver mlserver-python

Luncurkan Jupyter Notebook
docker run -p 8888:8888 -it mlserver /opt/microsoft/mlserver/9.3.0/runtime/python/bin/jupyter notebook --no-browser --port=8888 --ip=0.0.0.0 --allow-root
Menjalankan perintah di atas memberi tautan dengan membukanya di peramban, Anda dapat menggunakan Jupyter Notebooks.

Luncurkan OneBox Configuration
Microsoft Learning Server dapat dikonfigurasikan setelah instalasi untuk digunakan sebagai server penempatan dan layanan host analitik web untuk
operasionalisasi .
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
Buat gambar mlserver-onebox menggunakan file buruh pelabuhan di atas:
docker build -f mlserver-onebox-dockerfile -t mlserver-onebox.
Verifikasi bahwa pembuatan gambar mlserver-onebox berhasil diselesaikan dengan menjalankan perintah berikut:
docker images
Luncurkan wadah onebox dengan perintah:
docker run --name mlserver-onebox-container -dit mlserver-onebox
Periksa kondisi wadah dengan:
docker logs mlserver-onebox-container
Setelah memverifikasi dengan perintah di atas bahwa tes diagnostik berhasil, Anda dapat menggunakan wadah ini sebagai satu-kotak (data log Docker harus berisi baris berikut: "Semua Tes Diagnostik telah lulus".).
Dapatkan alamat IP wadah dengan menjalankan perintah:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mlserver-onebox-container '172.17.0.3'
Dan gunakan sebagai satu kotak:
az login --mls --mls-endpoint "http://172.17.0.3:12800" --username "admin" --password "Microsoft@2018" az ml admin diagnostic run
Memulai layanan web R.
Kami juga dapat membuat gambar dengan layanan web yang telah dikonfigurasikan sehingga siap digunakan segera setelah kami menggunakan wadah. Berikut adalah contoh membuat gambar dengan layanan web R untuk mensimulasikan
Transmisi Manual , yang telah dikonfigurasikan sebelumnya di dalamnya.
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
Buat gambar pengiriman manual secara manual menggunakan file buruh pelabuhan di atas:
docker build -f r-manualtransmission-dockerfile -t rmanualtransmission.
Verifikasi bahwa pembuatan gambar pengiriman rmanual berhasil diselesaikan dengan menjalankan perintah:
docker images
Luncurkan wadah menggunakan perintah:
docker run --name rmanualtransmission-container -dit rmanualtransmission
Periksa kondisi wadah dengan:
docker logs rmanualtransmission-container
Setelah memverifikasi bahwa tes diagnostik berhasil dan layanan web diterbitkan, Anda dapat mulai menggunakannya.
Dapatkan alamat IP wadah dengan menjalankan perintah:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' rmanualtransmission-container '172.17.0.3'
Anda dapat menggunakan atau mendapatkan file pengaturan layanan web swagger.json R untuk mensimulasikan transfer manual menggunakan perintah curl:
apt-get -y install jq curl -s --header "Content-Type: application/json" --request POST --data '{"username":"admin","password":"Microsoft@2018"}' http:
File swagger.json cocok untuk
membuat perpustakaan klien dalam bahasa apa pun .
Menjalankan Layanan Web Python
Berikut ini adalah contoh
membuat gambar dengan layanan web Python untuk mensimulasikan Transmisi Manual pra-konfigurasi di dalamnya.
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
Buat gambar pengiriman pymanualtransmisi menggunakan file buruh pelabuhan di atas:
docker build -f py-manualtransmission-dockerfile -t pymanualtransmission.
Verifikasi bahwa pembuatan gambar transmisi pymanual berhasil diselesaikan dengan menjalankan perintah:
docker images
Luncurkan wadah menggunakan perintah:
docker run --name pymanualtransmission-container -dit pymanualtransmission
Periksa kondisi wadah dengan:
docker logs pymanualtransmission-container
Setelah memverifikasi bahwa tes diagnostik berhasil dan layanan web diterbitkan, Anda dapat mulai menggunakannya.
Dapatkan alamat IP wadah dengan menjalankan perintah:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pymanualtransmission-container '172.17.0.3'
Anda bisa mendapatkan file swagger.json untuk menyiapkan layanan web Python untuk mensimulasikan transfer manual menggunakan perintah curl:
apt-get -y install jq curl -s --header "Content-Type: application/json" --request POST --data '{"username":"admin","password":"Microsoft@2018"}' http:
File swagger.json cocok untuk
membuat perpustakaan klien dalam bahasa apa pun .
CATATAN Anda juga dapat mengubah pengaturan situs web appsettings.json menggunakan file docker ajaib dan mengaktifkan
otentikasi LDAP / AAD .
Ekstensi
Gambar buruh pelabuhan lokal yang dibuat dapat dikirim ke
Azure Container Registry (ACR ).
Buat cluster di Azure Kubernetes Service (AKS) menggunakan gambar dari ACR
yang dapat secara otomatis skala ke kedua sisi menggunakan pod
skala otomatis .
LINK