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”.
- Cara Meneruskan Port di Docker Menggunakan Docker Compose
- Cara Meneruskan Port ke Jaringan Tertentu
- Kesimpulan
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
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
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 halPada 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
Untuk melihat jaringan Docker, gunakan tombol “ jaringan buruh pelabuhan ls ' memerintah:
jaringan buruh pelabuhan akuDi 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-imgDalam 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