Buat kontainer untuk digunakan kembali
Gunakan resep kontainer ini untuk membuat kontainer Azure AI yang dapat digunakan kembali. Kontainer dapat dibuat dengan beberapa atau semua pengaturan konfigurasi sehingga tidak diperlukan saat kontainer dimulai.
Setelah Anda memiliki lapisan kontainer baru ini (dengan pengaturan), dan Anda telah mengujinya secara lokal, Anda dapat menyimpan kontainer dalam registri kontainer. Saat kontainer dimulai, ini hanya akan memerlukan pengaturan yang saat ini tidak disimpan dalam kontainer. Kontainer registri privat menyediakan ruang konfigurasi bagi Anda untuk meneruskan pengaturan tersebut.
Sintaks eksekusi docker
Contoh docker run
apa pun mengasumsikan konsol Windows dengan karakter kelanjutan baris ^
. Pertimbangkan hal berikut untuk penggunaan Anda sendiri:
- Jangan mengubah urutan argumen kecuali Anda memahami kontainer docker.
- Jika Anda menggunakan sistem operasi selain Windows, atau konsol selain konsol Windows, gunakan konsol/terminal yang benar, sintaksis folder untuk pemasangan, dan karakter kelanjutan baris untuk konsol dan sistem Anda. Karena kontainer layanan Azure AI adalah sistem operasi Linux, pemasangan target menggunakan sintaks folder gaya Linux.
- Contoh
docker run
menggunakan direktori dari drivec:
untuk menghindari konflik izin pada Windows. Jika perlu menggunakan direktori tertentu sebagai direktori input, Anda mungkin perlu memberikan izin layanan docker.
Tidak menyimpan pengaturan konfigurasi dalam gambar
Contoh perintah docker run
untuk setiap layanan tidak menyimpan pengaturan konfigurasi apa pun dalam kontainer. Saat Anda memulai kontainer dari konsol atau layanan registri, pengaturan konfigurasi tersebut harus diteruskan. Kontainer registri privat menyediakan ruang konfigurasi bagi Anda untuk meneruskan pengaturan tersebut.
Resep penggunaan kembali: menyimpan semua pengaturan konfigurasi dengan kontainer
Untuk menyimpan semua pengaturan konfigurasi, buat Dockerfile
dengan pengaturan tersebut.
Masalah terkait pendekatan ini:
- Kontainer baru memiliki nama dan tag terpisah dari kontainer asli.
- Untuk mengubah pengaturan ini, Anda harus mengubah nilai Dockerfile, membuat ulang gambar, dan menerbitkan ulang registri Anda.
- Jika seseorang mendapatkan akses ke registri kontainer atau host lokal Anda, mereka dapat menjalankan kontainer dan menggunakan titik akhir layanan Azure AI.
- Jika layanan Azure AI yang Anda gunakan tidak memerlukan pemasangan input, jangan tambahkan
COPY
baris ke Dockerfile Anda.
Buat Dockerfile, menarik dari kontainer layanan Azure AI yang ada yang ingin Anda gunakan, lalu gunakan perintah docker di Dockerfile untuk mengatur atau menarik informasi yang dibutuhkan kontainer.
Contoh ini:
- Mengatur titik akhir penagihan,
{BILLING_ENDPOINT}
dari kunci lingkungan host menggunakanENV
. - Mengatur API-key penagihan,
{ENDPOINT_KEY}
dari kunci lingkungan host menggunakan 'ENV.
Resep penggunaan kembali: menyimpan pengaturan penagihan dengan kontainer
Contoh ini menunjukkan cara membangun wadah sentimen layanan Bahasa dari Dockerfile.
FROM mcr.microsoft.com/azure-cognitive-services/sentiment:latest
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept
Buat dan jalankan kontainer secara lokal atau dari kontainer registri privat Anda sesuai kebutuhan.
Resep penggunaan kembali: menyimpan pengaturan penagihan dan pemasangan dengan kontainer
Contoh ini menunjukkan cara menggunakan Pemahaman Bahasa, menyimpan penagihan, dan model dari Dockerfile.
- Menyalin file model Pemahaman Bahasa (LUIS) dari sistem file host menggunakan
COPY
. - Kontainer LUIS mendukung lebih dari satu model. Jika semua model disimpan dalam folder yang sama, Anda semua memerlukan satu pernyataan
COPY
. - Jalankan file docker dari induk relatif direktori input model. Untuk contoh berikut, jalankan perintah
docker build
dandocker run
dari induk relatif dari/input
./input
pertama pada perintahCOPY
adalah direktori komputer host./input
kedua adalah direktori kontainer.
FROM <container-registry>/<cognitive-service-container-name>:<tag>
ENV billing={BILLING_ENDPOINT}
ENV apikey={ENDPOINT_KEY}
ENV EULA=accept
COPY /input /input
Buat dan jalankan kontainer secara lokal atau dari kontainer registri privat Anda sesuai kebutuhan.
Cara menggunakan kontainer di host lokal Anda
Untuk menyusun file Docker, ganti <your-image-name>
dengan nama baru gambar, lalu gunakan:
docker build -t <your-image-name> .
Untuk menjalankan gambar, dan menghapusnya saat kontainer berhenti (--rm
):
docker run --rm <your-image-name>
Cara menambahkan kontainer ke registri privat
Ikuti langkah-langkah ini untuk menggunakan Dockerfile dan tempatkan gambar baru di registri kontainer privat Anda.
Buat
Dockerfile
dengan teks dari resep penggunaan kembali.Dockerfile
tidak memiliki ekstensi.Ganti nilai apa pun dalam kurung sudut dengan nilai Anda sendiri.
Buat file menjadi gambar di baris perintah atau terminal, menggunakan perintah berikut. Ganti nilai dalam kurung sudut,
<>
, dengan nama dan tag kontainer Anda sendiri.Opsi tag,
-t
, adalah cara untuk menambahkan informasi tentang apa yang telah Anda ubah untuk kontainer. Misalnya, nama kontainermodified-LUIS
menunjukkan kontainer asli telah berlapis. Nama tagwith-billing-and-model
menunjukkan cara kontainer Pemahaman Bahasa (LUIS) telah diubah.docker build -t <your-new-container-name>:<your-new-tag-name> .
Masuk ke Azure CLI dari konsol. Perintah ini membuka penjelajah dan memerlukan autentikasi. Setelah diautentikasi, Anda dapat menutup browser dan terus bekerja di konsol.
az login
Masuk ke registri privat Anda dengan Azure CLI dari konsol.
Ganti nilai dalam kurung sudut,
<my-registry>
, dengan nama registri Anda sendiri.az acr login --name <my-registry>
Anda juga dapat masuk dengan info masuk docker jika ditetapkan perwakilan layanan.
docker login <my-registry>.azurecr.io
Beri tag kontainer dengan lokasi registri privat. Ganti nilai dalam kurung sudut,
<my-registry>
, dengan nama registri Anda sendiri.docker tag <your-new-container-name>:<your-new-tag-name> <my-registry>.azurecr.io/<your-new-container-name-in-registry>:<your-new-tag-name>
Jika Anda tidak menggunakan nama tag,
latest
tersirat.Dorong gambar baru ke registri kontainer privat Anda. Saat Anda melihat registri kontainer privat Anda, nama kontainer yang digunakan dalam perintah CLI berikut akan menjadi nama repositori.
docker push <my-registry>.azurecr.io/<your-new-container-name-in-registry>:<your-new-tag-name>