Bahasa Melayu

Alat pembangun · Docker lari ke Docker compose converter

Pembolehubah persekitaran dalam Karang: -e, --env-file dan interpolasi

· Bagaimana ia berfungsi

pekerja pelabuhan mengarang pembolehubah persekitaran

Gambar rajah abstrak yang menggambarkan pembolehubah persekitaran dalam karang: -e, --env-file dan interpolasi
Ilustrasi vektor ToolAcre asal

Terdapat tiga tempat pembolehubah boleh datang dari Karang, dan mereka berkelakuan berbeza. Siaran ini memetakan -e dan --env-file kepada kunci mereka dan menerangkan perkara yang diinterpolasi dan bila Karang.

Apl yang disambungkan dengan kata laluan ${DB_PASSWORD}, secara literal — selepas fail Karang tulisan tangan menggantikan larian docker yang berfungsi

Apl yang disambungkan dengan kata laluan ${DB_PASSWORD}, secara literal — selepas fail Karang tulisan tangan menggantikan larian docker yang berfungsi. Bukti: ungkapan persekitaran kekal literal apabila dibekalkan secara literal. Menghasilkan semula sumber alam sekitar dengan literal pakai buang. Gandingkan setiap kejadian sumber dengan persekitaran dan env_file; simpan nilai literal dan sempadan fail untuk semakan destinasi.

Insiden pembolehubah persekitaran juga mendedahkan bahawa Sempadan kejadian pembolehubah persekitaran yang berasingan ialah tokeniser tidak pernah menyelesaikan interpolasi dolar atau lalai. Bukti: tokenizer tidak pernah menyelesaikan interpolasi dolar atau lalai. Kekangan sumber persekitaran ini adalah titik perhentian. Periksa persekitaran dan env_file tanpa tingkah laku pembuatan, kemudian dokumentasikan semakan hos untuk nilai literal dan sempadan fail.

-e KEY=nilai menjadi persekitaran: — sebagai senarai atau peta, dan borang KEY sahaja yang melalui pembolehubah hos

-e KEY=nilai menjadi persekitaran: — sebagai senarai atau peta, dan borang KEY sahaja yang melalui pembolehubah hos. Bukti: Nilai -e membentuk jujukan persekitaran tersusun dan nilai KEY sahaja mencetuskan nota. Jejaki token penyumberan persekitaran ke dalam persekitaran dan env_file. Asingkan nilai tersusun daripada medan nilai terakhir; nilai literal dan sempadan fail adalah di luar koleksi.

Sempadan mekanisme pembolehubah persekitaran yang berkaitan ialah Sempadan tatabahasa pembolehubah persekitaran yang berasingan ialah ruang dan tanda sama tambahan kekal dalam nilai yang disebut. Bukti: ruang dan tanda sama dengan tambahan kekal dalam nilai yang disebut. Gunakan fakta sumber persekitaran ini untuk meramalkan satu ahli atau skalar dalam persekitaran dan env_file. Semak amaran sebelum memutuskan apa-apa tentang nilai literal dan sempadan fail.

--env-file menjadi env_file: — fail yang dibaca oleh bekas, berbeza daripada fail .env Compose sendiri dibaca

--env-file menjadi env_file: — fail yang dibaca oleh bekas, berbeza daripada fail .env Compose sendiri dibaca. Bukti: --env-file nilai membentuk entri env_file dan tiada fail rujukan dibuka. Persekitaran hakim sumber bersiri daripada modelnya. Petikan dalam persekitaran dan env_file melindungi jenis tetapi tidak memberikan bukti operasi untuk nilai literal dan sempadan fail.

Pemerhatian siri pembolehubah persekitaran kedua ialah Sempadan keluaran pembolehubah persekitaran yang berasingan ialah pelayar mengembalikan YAML tetapi tidak melaksanakan konfigurasi karang buruh pelabuhan. Bukti: pelayar mengembalikan YAML tetapi tidak melaksanakan konfigurasi karang docker. Output penyumberan persekitaran ini memisahkan tetapan daripada konteks yang tidak tersedia. Pastikan persekitaran dan env_file boleh disemak dan semak nilai literal dan sempadan fail secara bebas.

Interpolasi tidak dilakukan oleh penukar; ungkapan dolar kekal teks keluaran literal

Interpolasi berlaku dalam fail Karang — ${VAR} dan ${VAR:-default} diselesaikan oleh Karang sebelum bekas melihat apa-apa. Bukti: tokeniser tidak pernah menyelesaikan interpolasi dolar atau lalai; Interpolasi tidak dilakukan oleh penukar; ungkapan dolar kekal teks keluaran literal. Berhenti pada pengecualian sumber alam sekitar dan bukannya meneka. Sebarang tambahan berhampiran persekitaran dan env_file memerlukan sebab khusus penempatan yang terikat pada nilai literal dan sempadan fail.

Kekangan pengecualian pembolehubah persekitaran yang lain ialah untuk bahagian pembolehubah persekitaran ini mengekalkan arahan asal untuk bahagian pembolehubah persekitaran ini dan amaran untuk bahagian pembolehubah persekitaran ini di sebelah fail calon ini. Bukti: repositori tidak memberikan masa jalan yang lebih luas atau bukti sejarah. Kekalkan arahan sumber persekitaran asal di sebelah amaran. Perbandingan menunjukkan persekitaran dan env_file yang mengandungi dan nilai literal dan keputusan sempadan fail yang kekal manual.

Contoh yang berfungsi: -e POSTGRES_PASSWORD=rahsia -e TZ --env-file app.env — YAML dan di mana setiap nilai berakhir pada masa jalan

Contoh yang berfungsi: -e POSTGRES_PASSWORD=rahsia -e TZ --env-file app.env — YAML, dan di mana setiap nilai berakhir pada masa jalan. Bina contoh sumber alam sekitar daripada nama sintetik. Jadikan setiap persekitaran dan item env_file boleh dikesan tanpa mendedahkan nilai literal pengeluaran dan butiran sempadan fail.

Contoh contoh pembolehubah persekitaran yang sama menunjukkan bahawa Sempadan contoh pembolehubah persekitaran yang berasingan ialah senarai persekitaran dan env_file yang berasingan mendedahkan setiap sumber arahan. Bukti: senarai persekitaran dan env_file yang berasingan mendedahkan setiap sumber arahan. Fakta sumber persekitaran berpasangan harus kelihatan dalam persekitaran dan env_file. Catatkan baris itu dan elakkan andaian tentang nilai literal dan sempadan fail.

Teks yang dijana boleh diperiksa secara setempat, tetapi Docker mesti melaksanakan sebarang resolusi Karang

Menyemak keputusan — konfigurasi karang docker mencetak fail yang diselesaikan sepenuhnya supaya anda boleh melihat perkara yang akan diterima oleh bekas. Bukti: pelayar mengembalikan YAML tetapi tidak melaksanakan konfigurasi karang docker; Teks yang dijana boleh diperiksa secara setempat, tetapi Docker mesti melaksanakan sebarang resolusi Karang. Terjemahkan akibat penyumberan persekitaran kepada satu persekitaran yang boleh diperhatikan dan perbezaan env_file. Docker memiliki nilai literal kemudian dan keputusan sempadan fail.

Pelaksanaan akibat pembolehubah persekitaran juga menunjukkan bahagian pembolehubah persekitaran ini simpan yang asal untuk bahagian pembolehubah persekitaran ini arahan dan amaran di sebelah untuk bahagian pembolehubah persekitaran ini fail calon ini bahawa pembolehubah persekitaran fakta akibat mentakrifkan apa untuk bahagian pembolehubah persekitaran ini yang disumbangkan oleh pelayar untuk pembolehubah persekitaran ini seksyen docker masih memiliki pembolehubah persekitaran akibat runtime keputusan untuk pembolehubah persekitaran ini bahagian operator masih memiliki bahagian pembolehubah persekitaran akibat persekitaran yang masih perlu dirahsiakan dasar keselamatan repositori untuk bahagian pembolehubah persekitaran ini, tanggungjawab tersebut dipisahkan apabila bahagian pembolehubah persekitaran ini menerangkan perkhidmatan yang dijana. Pisah tanggungjawab penyumberan persekitaran: penukaran menulis persekitaran dan env_file, repositori mengalih keluar rahsia dan pengendali mengesahkan nilai literal dan sempadan fail.

Perkara yang tidak dilindungi ini — Rahsia Docker, memetik peraturan di dalam fail env dan pembolehubah yang ditetapkan oleh fail Docker imej itu sendiri

Perkara yang tidak dilindungi ini — Rahsia Docker, memetik peraturan di dalam fail env dan pembolehubah yang ditetapkan oleh fail Docker imej itu sendiri. Bukti: bahagian rahsia dan lalai yang ditentukan imej berada di luar model. Hadkan skop penyumberan persekitaran kepada cawangan persekitaran dan env_file yang ditunjukkan di sini. Borang jiran dan lalai tidak dapat menjawab soalan nilai literal dan sempadan fail.

Satu lagi had skop pembolehubah persekitaran menyusuli daripada Sempadan had pembolehubah persekitaran yang berasingan ialah nilai -e membentuk jujukan persekitaran tersusun dan nilai KEY sahaja mencetuskan nota. Anggap sempadan sumber persekitaran ini sebagai pengecualian. Lebih suka persekitaran yang tepat dan env_file daripada tekaan tentang nilai literal dan sempadan fail.

Bawa pulang: ketahui dari mana fail setiap pembolehubah — dan penukar menunjukkan -e dan --env-file mendarat di bawah kekunci yang betul

Bawa pulang: ketahui fail dari mana setiap pembolehubah — dan penukar menunjukkan -e dan --env-file mendarat di bawah kekunci yang betul. Sumber persekitaran audit sebagai pilihan sumber, medan model, persekitaran dan barisan env_file dan amaran. Alih keluar rahsia sebelum menyemak nilai literal dan sempadan fail.

Akhir sekali, sumber pengambilan pembolehubah persekitaran mengesahkan Sempadan keputusan pembolehubah persekitaran yang berasingan ialah nilai --env-file membentuk entri env_file dan tiada fail yang dirujuk dibuka. Tutup sumber persekitaran secara sempit: persekitaran dan env_file ialah calon; nilai literal dan sempadan fail dan kesetaraan shell bukan jaminan.