Apa File .env Docker lan Kepiye Gunakake?

Nalika sampeyan masang kontaner Docker, sampeyan kudu nambah variabel khusus. Variabel kasebut bisa nyakup kabeh jinis informasi, kalebu jeneng pangguna, sandhi, jeneng database, lsp. Mesti wae, sampeyan bisa tansah hard kode variabel kasebut menyang manifests wadhah nanging umume dianggep masalah keamanan. Kajaba iku, yen sampeyan nggunakake kontaner sing padha bola-bali, ora efisien kudu ngetik maneh kabeh informasi kasebut.

Kanggo ngatasi masalah jinis iki, umume pangembang milih nggunakake .env antrian. Intine, an .env file minangka dhaptar nilai pasangan kunci sing nyetel variabel khusus kanggo panyebaran wadhah. Dadi, tinimbang kudu kode variabel kasebut menyang manifest dhewe, sampeyan nambahake menyang file .env lan nalika sampeyan mbukak. docker-ngarang munggah -dvariabel bakal diterapake saka ing .env file (“env” sing cendhak kanggo variabel lingkungan).

Iku pancene langsung.

teh .env file bisa digunakake kanggo panyebaran wadhah sing prasaja lan uga penyebaran tumpukan lengkap. Salah siji cara, iku cara sing luwih aman kanggo nggunakake rahasia kanggo penyebaran. Sanajan ora ana sing sampurna, nggunakake file sing didhelikake (sing diwiwiti nganggo . ing Linux dianggep didhelikake) sing njaga sampeyan saka rahasia coding hard menyang manifests sampeyan ora mung kudu dianggep minangka cara sing cerdas, mesthine minangka standar sampeyan. Lan, ya, ana cara sing luwih aman kanggo nangani rahasia.

Sawetara perkara sing kudu dielingi babagan file .env:

  • teh .env file digunakake sak langkah pra-proses karo docker-compose.yml file.
  • Kanggo pass variabel saka .env file menyang printah, sampeyan nggunakake $ ing $DB_DATABASE.
  • Nilai ENV kasedhiya liwat perintah docker-build utawa run-style (nggunakake $ kaya sing diterangake ing ndhuwur).
  • File ENV ngidini sampeyan ngliwati sawetara variabel lingkungan bebarengan.
  • Sampeyan bisa pass variabel file .env kanggo docker run printah nggunakake –env-file opsi, kaya: docker run –env-file .env mysql: paling anyar

Contone, sampeyan bisa nggawe rahasia Docker anyar kaya iki:

Pisanan, gawe file sing ngemot rahasia karo:

Sabanjure, gawe rahasia Docker kanthi:

Output bakal kaya iki:

Sampeyan bisa dhaptar rahasia kanthi prentah:

Output bakal ngemot rahasia sing wis digawe kaya mangkene:

Sampeyan banjur bisa nggunakake rahasia kasebut nalika nggunakake layanan kaya iki:

Output saka printah ing ndhuwur bakal katon kaya iki:

Ana uga layanan pihak katelu, kayata HashiCorp Vault, sing nawakake brankas sing dienkripsi sing bisa digunakake kanggo nyimpen rahasia.

Nanging yen sampeyan pengin nyederhanakake, file .env minangka cara sing apik. Ing ndhuwur iku, file .env ora mung babagan nyimpen rahasia. Kanthi file iki, sampeyan bisa nambah variabel lingkungan apa wae sing dibutuhake.

Ayo kula nuduhake sampeyan carane nggawe siji.

Nggawe File .env Pisanan Sampeyan

Contone, sampeyan wis nggawe direktori kanggo nyimpen kabeh file kerja kanggo proyek kasebut, sing diarani ~/my-project. Ganti menyang direktori kasebut kanthi printah cd ~/my-proyek. Ing direktori kasebut, gawe file .env nganggo perintah:

Elinga, ing .env file kudu ana ing direktori dhasar proyek sampeyan, yen ora, iku ora bakal dijupuk dening deploy printah.

A banget dhasar .env file bisa ngemot pasangan tombol ing ngisor iki:

Contone, sampeyan nggunakake tumpukan sing kalebu wadhah database MySQL lan sampeyan kudu nyetel server database, port database, jeneng database, jeneng pangguna database, lan sandhi database. Iku .env file bisa katon kaya iki:

Simpen file kasebut nganggo [Ctrl]+[X] trabasan keyboard. Saiki, file YAML sampeyan kudu disiyapake kanthi bener. Ayo dadi prasaja iki dicokot. Ngomong file .env kita katon kaya iki:

Kanggo ngirim variabel kasebut menyang file docker-compose.yml, file kasebut kudu ngemot kaya iki:

Nalika sampeyan mbukak printah docker-compose up -d, nilai kunci lingkungan bakal diterusake menyang panyebaran lan barang-barang kasebut kudu muter kanthi apik, tanpa kudu nyimpen nilai kasebut ing docker-compose.yml antrian.

Iki uga migunani banget amarga sampeyan bisa nggawe file .env siji kanggo repurpose kanggo penyebaran liyane. Iki utamane nalika nggawe panyebaran kompleks. Nanging, aku menehi saran supaya ora nyimpen rahasia ing file kasebut ing panyimpenan lokal. Sampeyan bisa tansah nggawe file .env kanggo digunakake maneh, karo placeholder kanggo sandhi, kayata:

Yen sampeyan nggunakake file .env kasebut, salin menyang direktori dhasar proyek kasebut, ganti sandhi sing asli, simpen file kasebut, banjur jalanake docker-ngarang dhawuh.

Mesthi, ora ana sing sampurna aman. Yen ana sing entuk akses menyang mesin sing ngemot file .env, kabeh sing kudu ditindakake yaiku ngetokake printah ls -la ing omah direktori sing ngemot file .env kanggo verifikasi ana file variabel lingkungan lan banjur ndeleng isine kaya kucing .approx. Yen sampeyan lagi ngurusi informasi sing sensitif banget, sing paling apik yaiku nggunakake layanan pihak katelu, kayata HashiCorp Vault sing kasebut ing ndhuwur. Nanging kanggo panyebaran Docker standar sampeyan, file .env minangka cara sing apik.

Kelompok Digawe nganggo Sketsa.

Leave a Comment

Your email address will not be published. Required fields are marked *