Rumah > Operasi dan penyelenggaraan > Docker > Apakah maksud expose dalam docker?

Apakah maksud expose dalam docker?

WBOY
Lepaskan: 2022-07-25 16:12:26
asal
4594 orang telah melayarinya

Dalam docker, dedahkan bermaksud menandai maklumat dan merupakan cara ekspresi dokumen boleh membolehkan pembangun memahami dengan cepat perkhidmatan mana yang dibuka oleh Imej dalam fail docker yang tidak boleh dibuka secara langsung, yang sesuai untuk operasi. Apabila kakitangan penyelenggaraan menggunakan bekas, mereka tahu port mana yang hendak dibuka. Jika tiada port dedah, perkhidmatan antara Kontena juga boleh mengakses satu sama lain.

Apakah maksud expose dalam docker?

Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.

Apakah maksud expose dalam docker?

Expose dalam Dockerfile ialah maklumat tag Anda tidak boleh membuka port secara langsung, supaya kakitangan operasi dan penyelenggaraan tahu apa yang perlu terbuka apabila menggunakan bekas yang mana. Apabila menggunakan docker run -itd -P xxx:xxx , capital -P akan memetakan port yang ditakrifkan menggunakan EXPOSE dalam fail Dockerfile, dan tidak perlu secara manual -p: borang ini.

EXPOSE hanyalah cara ekspresi dokumen Dalam fail docker, pembangun boleh memahami perkhidmatan mana yang dibuka oleh Imej tidak mempunyai kepentingan praktikal. Jika tiada port EXPOSE, perkhidmatan antara Kontena juga boleh mengakses satu sama lain.

Perbezaan antara expose dan publish (run -p) dalam Docker

Rekod utama di sini ialah sedikit keraguan yang saya temui baru-baru ini menggunakan docker. Kesimpulannya:

Dalam docker, apakah perbezaan dan hubungan antara docker run -p antara muka terdedah apabila memulakan baris arahan dan mendedahkan antara muka dalam dockerfile.

Penerangan khusus adalah seperti berikut:

Sebagai contoh, saya mula-mula Dedahkan port 8080 dalam Dockerfile

EXPOSE 8080

Kemudian saya membina imej ini untuk kegunaan kemudian Gunakan

docker build -t myimage - Dockerfile
Salin selepas log masuk

Langkah seterusnya ialah menggunakan docker run untuk memulakan contoh kontena imej ini dan menerbitkan port

docker container run -d -p 8080 myimage
Salin selepas log masuk

Inilah soalan yang saya nyatakan, kerana saya telah mengisytiharkan port Expose 8080 dalam Dockerfile. Mengapa saya masih perlu menerbitkan port ini (-p). Apakah perbezaan dan hubungan antara keduanya? Bolehkah saya terus

docker container run -d myimage
Salin selepas log masuk

Dalam kes ini, adakah terdapat sebarang port yang terdedah?

Selepas ujian, (proses ujian diabaikan, rakan yang berminat boleh mengujinya sendiri. Malah, terdapat perbezaan penting antara keduanya, dan terdapat juga tahap korelasi tertentu

Saya menyenaraikan empat kombinasi ini di sini

A, bukan Expose mahupun run -p

B dalam Dockerfile, hanya Expose port ini dalam Dockerfile

C, manakala Expose dalam Dockerfile, dan jalankan -p

D, hanya jalankan -p

1------Untuk kes A, mulakan dalam bekas ini Perkhidmatan tidak boleh diakses oleh hos hos dan luaran rangkaian, mahupun oleh bekas pautan Ia hanya boleh digunakan di dalam bekas ini

2-------- Untuk kes B, mulakannya dalam bekas ini Perkhidmatan tidak boleh diakses oleh dunia luar docker (hos dan hos lain), tetapi boleh diakses oleh bekas pautan lain melalui bekas

pautan

3-------- Disasarkan Dalam kes C, cotnainer yang mula boleh boleh diakses oleh kedua-dua dunia luar docker dan bekas pautan

4---------Untuk kes D, sebenarnya, docker telah membuat Penukaran tersirat khas, bersamaan dengan kes C, boleh diakses oleh dunia luar atau oleh bekas pautan (ini benar kerana docker percaya bahawa kerana anda perlu membuka port

ke luar Dunia, bersamaan dengan bekas lain, pasti boleh diakses, jadi docker telah melakukan Expose automatik

Pembelajaran yang disyorkan: "tutorial video docker"

Atas ialah kandungan terperinci Apakah maksud expose dalam docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan