Bahasa Melayu

Alat pembangun · Docker lari ke Docker compose converter

Cara pekerja pelabuhan menjalankan bendera memetakan ke kunci Karang: -p, -v, -e, --name dan banyak lagi

· Bagaimana ia berfungsi

pekerja pelabuhan mengarang aliran kerja pembangun

Docker menjalankan pemetaan pilihan arahan ke port, volum dan kunci persekitaran dalam Karang
Ilustrasi vektor ToolAcre asal

Kebanyakan bendera larian buruh pelabuhan mempunyai setara Karang satu-dengan-satu, dan beberapa tidak mempunyai satu pun. Siaran ini berjalan melalui pemetaan supaya definisi perkhidmatan yang ditukar dibaca seperti yang diharapkan.

Larian buruh pelabuhan yang membungkus tiga baris dalam README — ia berfungsi, tiada siapa boleh menyemaknya dan pasukan itu mahukan compose.yaml

Larian docker berbilang talian boleh memulakan perkhidmatan hari ini sambil menyembunyikan kontrak operasinya dalam alias shell atau README. Fail Karang mengalihkan pilihan yang sama ke dalam definisi perkhidmatan yang boleh disemak, tetapi penukaran mesti mengambil kira setiap bendera dan bukannya menggugurkan tetapan keselamatan secara senyap. ToolAcre menghuraikan arahan sebagai teks: ia tidak pernah menjalankan imej, membuka soket Docker atau menggunakan bekas. Anggap output sebagai konfigurasi draf yang masih memerlukan operator untuk menyemak laluan hos, bukti kelayakan dan andaian rangkaian.

Bentuk perkhidmatan — imej, kemudian satu set kunci yang mencerminkan bendera, di bawah perkhidmatan: dan nama perkhidmatan

Karang YAML bermula di bawah perkhidmatan:, diikuti dengan nama perkhidmatan dan imej:. Tidak seperti baris arahan, kuncinya mengumpulkan nilai berulang seperti port dan kemasukan persekitaran ke dalam jujukan. ToolAcre memperoleh nama perkhidmatan daripada --name atau imej dan membina model sebelum membuat siri YAML. Fail Karang Semasa tidak memerlukan versi peringkat teratas: kunci; menambah satu kerana catatan blog lama menunjukkan ia akan membuat amaran usang dan bukannya meningkatkan keserasian.

Bendera biasa — -p kepada port, -v kepada jilid, -e kepada persekitaran, --name kepada container_name, --restart untuk memulakan semula, --network kepada rangkaian

Pemetaan biasa menjadikan fail dikenali: -p 8080:80 menjadi pelabuhan: dengan pemetaan yang dipetik, -v host:container menjadi entri jilid, -e KEY=nilai masuk ke dalam persekitaran, --name menjadi container_name, --restart menjadi mula semula dan --network memerlukan konteks rangkaian. Memetik pemetaan pelabuhan penting kerana YAML harus menganggapnya sebagai rentetan, bukan mentafsir tanda baca sebagai jenis lain. Jilid yang dinamakan mungkin memerlukan pengisytiharan jilid peringkat atasnya sendiri; pelekap bind hos harus diperiksa terhadap mesin tempat Compose akan dijalankan.

Bendera yang kurang biasa - --hostname, --user, --workdir, --entrypoint, --cap-add, --device, --label, --add-host dan kunci mereka

Bendera seperti --hostname, --user, --workdir, --entrypoint, --cap-add, --device, --label dan --add-host mempunyai konsep perkhidmatan yang sepadan, tetapi semantiknya mungkin bergantung pada masa jalan dan hos. Yang tidak disokong --security-opt tidak boleh dicipta sebagai kunci yang kelihatan munasabah atau dibuang secara tidak kelihatan. ToolAcre menyenaraikan amaran yang menamakan pilihan yang tidak disokong supaya penyemak boleh menyelesaikan pemetaan secara manual atau memutuskan bahawa Karang bukanlah pengganti yang betul. Kehadiran a YAML key tidak membuktikan bahawa perkhidmatan bermula dengan keistimewaan yang sama.

Argumen kedudukan — imej menjadi imej:, dan apa sahaja selepas ia menjadi arahan:

Nama imej ialah hujah kedudukan selepas dijalankan dan pilihannya. Hujah selepas imej menjadi arahan perkhidmatan, bukan lagi bendera larian Docker; memindahkan token merentasi sempadan itu mengubah program yang menerimanya. Petikan cangkang dan garis miring ke belakang juga penting apabila membahagikan satu contoh README kepada token. Penghurai ToolAcre bukan penterjemah shell, jadi pembolehubah seperti $HOME harus disemak dalam konteks dan bukannya mengandaikan ia berkembang seperti dalam shell interaktif asal.

Contoh yang berfungsi: menukar larian docker Postgres — arahan penuh, definisi perkhidmatan yang terhasil dan perbandingan baris demi baris

Pertimbangkan larian docker arahan ilustrasi -d --name demo-db -p 5432:5432 -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=demo sahaja --restart kecuali dihentikan postgres:16. ToolAcre memancarkan services.demo-db dengan postgres imej:16, container_name demo-db, dipetik 5432:5432 port, volum pgdata, entri senarai persekitaran, mulakan semula: kecuali dihentikan dan pengisytiharan volum pgdata peringkat atas. Ia memberi amaran bahawa -d ialah pilihan baris arahan; pekerja pelabuhan mengarang -d mengendalikannya. "demo sahaja" ialah pemegang tempat pengajaran yang sengaja tidak selamat—jangan sekali-kali memasukkan kata laluan pangkalan data sebenar ke dalam yang dijana ini YAML.

Perkara ini tidak meliputi — bendera tanpa perkhidmatan yang setara (-d, --rm) dan perkara yang tidak ada dalam perintah sama sekali, seperti konteks binaan

Bukan setiap bendera larian mempunyai rakan sejawatan hartanah perkhidmatan yang tahan lama. -d dikendalikan oleh arahan karang yang anda gunakan; --rm tergolong dalam larian karang sekali sahaja dan bukannya perkhidmatan jangka panjang. Konteks binaan, stor rahsia, strategi kesihatan atau pergantungan berbilang perkhidmatan yang tidak terdapat dalam arahan asal tidak boleh disimpulkan. Alat ini melaporkan bendera yang tidak disokong dan bukannya berpura-pura bahawa outputnya adalah rancangan penggunaan yang lengkap. Baca rujukan perkhidmatan Docker Compose sebelum menggunakan bekas istimewa atau sensitif rangkaian.

Bawa pulang: Karang adalah konfigurasi yang sama, berstruktur — dan penukar menghasilkan definisi perkhidmatan daripada arahan yang anda tampal

Karang ialah konfigurasi yang sama, berstruktur untuk semakan dan kebolehulangan. Docker run kepada Docker compose converter memberi anda takrif perkhidmatan calon dalam pelayar anda dan menyimpan perintah yang ditampal setempat; ia tidak melaksanakan Docker. Bandingkan setiap bendera sumber dengan kunci YAMLnya, amaran alamat dan alih keluar rahsia daripada blok persekitaran biasa sebelum menggunakan hasilnya pada hos sebenar.