Cara Meneruskan Port di Docker

Cara Meneruskan Port Di Docker



Docker adalah platform dockerisasi populer yang melakukan dockerisasi aplikasi dan perangkat lunak di lingkungan terisolasi yang dikenal sebagai container. Saat menjalankan aplikasi dalam container, pengguna biasanya diharuskan mengakses aplikasi dalam container di luar container. Untuk tujuan ini, pengguna perlu menerapkan teknik port forwarding.

Penerusan port di Docker adalah proses yang memungkinkan kita mengekspos port container pada sistem host Docker. Ini memungkinkan kita untuk menjalankan aplikasi di lingkungan yang terisolasi dan juga membuatnya dapat diakses dari luar container pada mesin pengguna.

Posting ini akan menunjukkan:







Cara Meneruskan Port di Docker Menggunakan Tag “-p” atau “–publish”.

Untuk meneruskan port di Docker, pengguna perlu mempublikasikan port container di host Docker. Untuk tujuan ini, jalankan container di host buruh pelabuhan menggunakan perintah “ -P ' atau ' -menerbitkan ” tandai di “ menjalankan buruh pelabuhan ' memerintah.



Untuk demonstrasi yang benar, ikuti petunjuk di bawah ini.



Langkah 1: Buat Dockerfile

Pertama, buat file dan atur namanya menjadi “ file buruh pelabuhan ”. File ini berisi instruksi tekstual untuk membuat templat container Docker. Sebagai contoh, mari kita melakukan docker pada program Golang sederhana menggunakan cuplikan di bawah ini di Dockerfile:





DARI golang: 1.8

KERJADIR / pergi / src / aplikasi

SALIN main2.go .

JALANKAN, ayo bangun -HAI server web.

MEMBUKA 8080

CMD [ './server web' ]

Dalam cuplikan yang diberikan:

  • DARI Perintah ” digunakan untuk mengatur gambar dasar.
  • KERJADIR ” mendefinisikan direktori kerja penampung.
  • MENYALIN Perintah ” akan membuat salinan file program di jalur yang ditentukan wadah.
  • BERLARI Perintah ” akan menjalankan perintah yang ditentukan dalam wadah.
  • MEMBUKA Perintah ” menentukan port tempat container akan didengarkan.
  • CMD ” menentukan titik eksekusi kontainer.

Langkah 2: Buat Program Golang

Selanjutnya, buat file lain bernama “ main2.pergi ” dan rekatkan program Golang yang disediakan di bawah ini yang mencetak string sederhana pada port “ 8080 ”:



paket utama

impor (

'fmt'

'catatan'

'bersih/http'

)

pengendali fungsi ( Di dalam http.ResponseWriter, r * http.Permintaan ) {

html := `

DOCTYPEhtml >

< html >

< kepala >

< judul > Halo Golang ! judul >

< gaya >

tubuh {

warna latar belakang: #D2B48C;

}

.wadah {

perataan teks: tengah;

bantalan: 50 piksel;

}

gaya >

kepala >

< tubuh >

< div kelas = 'wadah' >

< h1 > Halo ! Selamat datang di Tutorial Petunjuk Linux h1 >

div >

tubuh >

html >`

w.Header ( ) .Mengatur ( 'Jenis konten' , 'teks/html' )

fmt.Fprint ( Di dalam ,html )

}

fungsi utama ( ) {

http.HandleFunc ( '/' , penangan )

log.Fatal ( http.ListenAndServe ( '0.0.0.0:8080' , nihil ) )

}

Langkah 3: Hasilkan Snapshot Container

Sekarang, buat snapshot untuk container dari Dockerfile yang ditentukan di atas. Untuk tujuan ini, pertama-tama, navigasikan ke direktori tempat Dockerfile dibuat menggunakan “ cd ' memerintah:

Selanjutnya, buat gambar container baru menggunakan perintah yang diberikan:

membangun buruh pelabuhan -T golang-img .

Hasil yang diberikan menunjukkan bahwa gambar dibuat sesuai dengan konteks build yang disediakan.

Langkah 4: Teruskan Port Host ke Port Kontainer

Sekarang, jalankan container dan teruskan port host ke port container untuk mengakses aplikasi dockerize di luar container pada mesin lokal. Untuk tujuan ini, jalankan “jalankan buruh pelabuhan –nama -p : ' memerintah:

menjalankan buruh pelabuhan --nama lanjutkan -P 8080 : 8080 golang-img

Di sini, “ -P ” Bendera digunakan untuk mempublikasikan port pelaksana kontainer pada host buruh pelabuhan:

Langkah 5: Verifikasi

Untuk verifikasi, lihat container yang sedang berjalan menggunakan “ buruh pelabuhan ps ”:

buruh pelabuhan hal

Pada hasil di bawah ini, aplikasi dalam container mendengarkan pada antarmuka jaringan yang tersedia “ 0.0.0.0 ” pada port yang diterbitkan “ 8080 ”. Ini menyiratkan bahwa port diteruskan ke aplikasi yang sedang berjalan di mesin host:

Sekarang, luncurkan browser dan navigasikan ke “ http://localhost:8080/ ” dan verifikasi apakah teknik penerusan port diterapkan atau tidak dan apakah aplikasi dalam container dapat diakses di luar container pada sistem host:

Disini kita telah berhasil meneruskan port host ke port container dan aplikasi dapat diakses di host docker.

Cara Meneruskan Port di Docker Menggunakan Docker Compose

Untuk meneruskan port kontainer ke host untuk mengakses aplikasi dalam kontainer dari luar kontainer, pengguna dapat memanfaatkan “ pelabuhan ” kunci dalam file tulis yaml. Docker composer adalah layanan Docker yang memungkinkan kita menjalankan berbagai layanan dan aplikasi dalam container berbeda. Menggunakan ' buruh pelabuhan-compose.yml ” file, pengguna juga dapat meneruskan port kontainer ke mesin host dan memiliki koneksi aplikasi ke dunia luar.

Lihat prosedur di bawah ini untuk ilustrasinya.

Langkah 1: Buat File Tulis

Pertama, buat file bernama “ buruh pelabuhan-compose.yml ” file dan tambahkan konten berikut ke file:

Versi: kapan: '3'

jasa:

jaringan:

membangun: .

port:

- 8080 : 8080

Dalam cuplikan di atas, “ pelabuhan Kunci ” digunakan untuk menghubungkan host ke port kontainer. Di sini, nilai pertama adalah port host, dan nilai kedua adalah port kontainer.

Langkah 2: Luncurkan Aplikasi

Setelah menentukan instruksi dalam file penulisan, luncurkan aplikasi dalam wadah menggunakan “ komposisi buruh pelabuhan ' memerintah:

komposisi buruh pelabuhan

Langkah 3: Verifikasi

Untuk verifikasi, daftarkan wadah penulisan menggunakan “ komposisi buruh pelabuhan ps ' memerintah:

komposisi buruh pelabuhan hal -A

Untuk memeriksa apakah container dapat diakses di mesin host, navigasikan ke “ http://localhost:8080/ ” URL. Di sini, Anda dapat melihat kami telah secara efektif meneruskan port container pada host:

Cara Meneruskan Port ke Jaringan Tertentu

Untuk meneruskan port kontainer ke jaringan tertentu, pengguna perlu menentukan jaringan di mana mereka ingin mengakses kontainer menggunakan “ -jaringan ' pilihan. Lihatlah langkah-langkah yang diberikan untuk demonstrasi.

Langkah 1: Buat Jaringan

Buat jaringan baru menggunakan “ jaringan buruh pelabuhan membuat ' memerintah. Secara default, jaringan ini akan menggunakan driver jembatan:

jaringan buruh pelabuhan membuat jaringan mygo

Untuk melihat jaringan Docker, gunakan tombol “ jaringan buruh pelabuhan ls ' memerintah:

jaringan buruh pelabuhan aku

Di sini, kami telah berhasil membuat “ jaringan mygo ” yaitu menggunakan “ menjembatani ' pengemudi:

Langkah 2: Petakan Jaringan

Untuk menjalankan dan mengakses container di jaringan tertentu menggunakan teknik penerusan port, gunakan perintah di bawah ini:

menjalankan buruh pelabuhan -P 8080 : 8080 --jaringan mygo-jaringan golang-img

Dalam perintah yang diberikan, “ -P Opsi ” menerbitkan kontainer pada port tertentu di jaringan tertentu. Di sini, “ -jaringan Opsi ” digunakan untuk mendefinisikan jaringan buruh pelabuhan:

Untuk verifikasi, navigasikan lagi ke “ http://localhost:8080 ” port dan periksa apakah container dapat diakses di jaringan yang ditentukan atau tidak:

Output di atas menunjukkan bahwa kami telah secara efektif meneruskan port container pada jaringan tertentu.

Catatan: Saat menggunakan jaringan “host”, pengguna tidak perlu memublikasikan port dari container ke host menggunakan “ -P ' atau ' -menerbitkan ' pilihan.

Meneruskan Port ke Jaringan Tertentu Menggunakan Docker Compose

Tambahkan cuplikan berikut di “ buruh pelabuhan-compose.yml ” mengajukan. Dalam cuplikan di bawah ini, “ jaringan ” kunci digunakan untuk menentukan jaringan:

Versi: kapan: '3'
jasa:

jaringan:
membangun: .
port:
- 8080 : 8080

Sekarang, luncurkan aplikasi dalam wadah menggunakan “ komposisi buruh pelabuhan ' memerintah:

komposisi buruh pelabuhan

Kami telah membahas metode penerusan porta di Docker.

Kesimpulan

Untuk meneruskan port di Docker untuk mengakses aplikasi dockerize di luar container, pengguna dapat menggunakan perintah “ -P ' atau ' -menerbitkan ” pilihan di “ menjalankan buruh pelabuhan ” perintah atau pengguna dapat menggunakan “ pelabuhan ” kunci dalam file penulisan Docker. Untuk mengakses container di jaringan tertentu, pengguna dapat meneruskan port container di jaringan dengan menggunakan “ –jaringan ' pilihan. Blog ini telah mendemonstrasikan teknik meneruskan port di Docker.