Menambah & Mengkonfigurasi Laman Web Berasaskan Docker dalam ServBay
ServBay ialah persekitaran pembangunan web tempatan untuk macOS yang direka khusus untuk menyokong pelbagai jenis bahasa dan teknologi. Selain menjalankan pakej perisian terbina dalam (seperti PHP, Node.js, Python, Go, Java dan pangkalan data), anda juga boleh menggunakan kontena Docker untuk menjalankan dan mengurus laman web atau servis anda. Kaedah ini menyediakan fleksibiliti tinggi, pengasingan persekitaran dan konsistensi yang sangat sesuai untuk projek yang memerlukan keperluan tertentu atau pergantungan khas.
Dokumen ini menerangkan secara terperinci cara untuk menambah laman web yang dijalankan dalam kontena Docker ke dalam ServBay dengan mengintegrasi perkhidmatan anda ke dalam aliran pembangunan tempatan melalui fungsi reverse proxy ServBay.
Gambaran Keseluruhan
Dengan mengkonfigurasi ServBay sebagai reverse proxy, anda boleh mengarahkan permintaan domain tertentu ke port servis dalam kontena Docker. ServBay mengurus trafik masuk (cth. pensijilan HTTPS, resolusi domain) manakala kontena Docker bertanggungjawab menjalankan aplikasi anda. Corak ini menggabungkan kemudahan antara muka pengurusan ServBay dengan kekuatan kontenarisasi Docker.
Langkah demi langkah di bawah akan memandu anda menambah dan mengkonfigurasi laman web berasaskan Docker di dalam ServBay.
Prasyarat
Sebelum bermula, pastikan anda memenuhi syarat berikut:
- ServBay telah dipasang dan dijalankan: Anda sudah memasang dan memulakan ServBay di macOS.
- Docker telah dipasang dan dijalankan: Docker Desktop atau persekitaran Docker lain telah dipasang di macOS anda dan servis Docker sedang berjalan.
- Imej dan kontena Docker telah tersedia: Anda sudah membina atau memuat turun imej Docker yang mengandungi laman web atau aplikasi anda, dan boleh melancarkan kontena dengan imej tersebut.
Langkah Terperinci Menambah Laman Web
Langkah 1: Sedia dan Jalankan Kontena Docker
Pastikan kontena Docker anda sedang berjalan serta servis dalaman (seperti pelayan web) berada dalam keadaan mendengar pada port yang telah dipetakan ke port hos (macOS anda) menggunakan fungsi port mapping Docker.
Sebagai contoh, jika anda menggunakan kontena Nginx yang mendengar pada port 80 dalam kontena, anda boleh gunakan arahan di bawah untuk memetakan port 8080 pada hos ke port 80 dalam kontena:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
Dalam contoh ini, Nginx dalam kontena my-nginx-servbay
mendengar pada port 80
, tetapi dengan parameter -p 8080:80
, port 80
dalam kontena dipetakan ke port 8080
pada hos. ServBay akan menyambung ke port 8080
pada hos.
Pastikan servis dalam kontena anda mendengar pada port yang betul dan port tersebut telah dipetakan ke port yang tersedia pada hos mengikut konfigurasi aplikasi dan Dockerfile anda.
Langkah 2: Buka Antara Muka Pengurusan ServBay
Cari ikon aplikasi ServBay
dalam folder Aplikasi pada macOS anda dan klik dua kali untuk membuka antara muka pengurusan ServBay.
Langkah 3: Navigasi ke Halaman Pengurusan Laman Web
Selepas membuka ServBay, anda akan melihat antara muka utama. Pada menu navigasi sebelah kiri, cari dan klik pilihan Laman Web
. Ini akan membawa anda ke halaman pengurusan laman web di mana anda boleh melihat serta konfigurasikan kesemua laman web tempatan yang telah anda tambah.
Rajah: Klik "Laman Web" dalam bar navigasi kiri untuk ke halaman pengurusan.
Langkah 4: Tambah Laman Web Baru
Di bahagian bawah halaman pengurusan laman web, terdapat butang +
. Klik butang ini dan ServBay akan memaparkan borang baru di kawasan sebelah kanan untuk anda mengisi maklumat konfigurasi laman web baru.
Rajah: Klik butang “+” di bahagian bawah halaman untuk menambah laman web baru.
Langkah 5: Konfigurasi Tetapan Laman Web
Dalam borang konfigurasi laman web yang baru dibuka, sila isikan maklumat penting berikut:
- Nama (Name): Tetapkan nama untuk laman web anda, contohnya
Docker Nginx Demo
. Nama ini bertujuan untuk tujuan pengurusan dalaman sahaja dalam ServBay. - Domain: Masukkan domain tempatan yang anda ingin gunakan untuk mengakses laman web Docker ini. Disyorkan guna akhiran
.servbay.demo
untuk mengelak pertindihan dengan domain awam, contohnyadocker.servbay.demo
. ServBay akan secara automatik mengkonfigurasi fail hosts sistem anda supaya domain ini menunjuk ke local (127.0.0.1
). - Protokol (Protocol): Pilih protokol yang disokong. Pilihan lalai
HTTP/HTTPS
sudah memadai untuk kebanyakan kes. ServBay akan mendengar port HTTP (80) dan HTTPS (443) serta mengendalikan seting SSL anda. - Kaedah Permohonan Sijil SSL (SSL Certificate Request Method): Disyorkan pilih
ServBay CA
. ServBay akan menjana dan urus sijil SSL yang ditandatangani oleh ServBay User CA secara automatik. Dengan memasang ServBay Public CA ke Keychain sistem anda, pelayar anda akan mempercayai sijil tempatan ini, membolehkan pembangunan dan ujian HTTPS secara lancar. Jika ada keperluan lain, boleh pilihACME
(untuk contoh Let's Encrypt) atauCustom
(menggunakan sijil sendiri). - Jenis Laman Web (Website Type): [Penting] Pilih
Reverse Proxy
. Ini bermaksud ServBay akan bertindak sebagai perantara domain dan mengalihkan permintaan ke alamat servis backend yang anda tetapkan. - Alamat IP (IP Address): Masukkan alamat IP hos di mana servis kontena Docker anda mendengar. Untuk kebanyakan Docker tempatan, guna alamat balik tempatan
127.0.0.1
. - Port: Masukkan nombor port yang didedahkan oleh servis kontena Docker anda pada hos. Ini merujuk kepada
<hos port>
yang anda tentukan dalam arahandocker run -p <hos port>:<port kontena>
. Jika anda menggunakan-p 8080:80
, maka masukkan8080
di sini.
Rajah: Isi maklumat konfigurasi untuk laman web reverse proxy Docker.
Langkah 6: Lengkapkan & Simpan Konfigurasi
Setelah semua maklumat diisi, klik butang Tambah (Add)
di bawah borang.
ServBay akan memproses permintaan anda, secara automatik menambah peraturan reverse proxy ke konfigurasi pelayan web (Caddy atau Nginx) serta mengemas kini fail hosts untuk menunjukkan ke domain tempatan yang anda tetapkan.
Selepas berjaya disimpan, ServBay mungkin mengambil sedikit masa untuk mengaplikasi konfigurasi tersebut dan anda boleh terus mengakses domain baru anda.
Langkah 7: Akses Laman Web & Guna Fungsi Pintas
Selesai simpan konfigurasi, kembali ke halaman pengurusan laman web dan anda akan melihat entri laman web baru dengan status “Berjalan”.
Kini anda boleh melayari domain yang telah anda tentukan, contoh http://docker.servbay.demo
atau https://docker.servbay.demo
. Jika semua konfigurasi betul, ServBay akan mengalihkan permintaan ke perkhidmatan dalam kontena Docker dan paparkan kandungan laman di pelayar anda.
Pada senarai laman web, ServBay menyediakan beberapa butang pintas yang praktikal, termasuk:
- Buka root direktori laman web dalam IDE: (Untuk laman reverse proxy, butang ini mungkin tidak relevan atau menunjuk ke direktori konfigurasi ServBay, bergantung pada versi dan konfigurasi)
- Buka laman dalam pelayar: Buka URL laman web ini dalam tab baru dengan pantas.
- Lihat log laman web: Paparkan log akses dan ralat yang direkodkan ServBay, sangat berguna untuk proses debug.
- Tangguh/aktif laman web: Lumpuhkan atau aktifkan konfigurasi reverse proxy ServBay secara sementara untuk laman ini.
- Padam laman web: Alih keluar konfigurasi laman web ini dari ServBay sepenuhnya.
Rajah: Butang pintas pada senarai laman web di ServBay.
Perhatian & Amalan Terbaik
- Status kontena Docker: Pastikan kontena Docker sentiasa aktif, jika tidak ServBay tidak dapat mengalihkan permintaan dengan betul.
- Pemadanan port: Sila pastikan konfigurasi port mapping Docker (
-p
parameter) dan butiran port dalam ServBay adalah konsisten, serta port pada hos tidak digunakan aplikasi lain. - Firewall: Semak firewall macOS anda dan pastikan port yang digunakan oleh ServBay (default 80, 443) serta port kontena Docker di hos tidak disekat.
- Mod rangkaian Docker: Biasanya, gunakan mod jaringan
bridge
default dan lakukan port mapping dengan parameter-p
. Jika gunakan mod rangkaianhost
, ServBay akan capaikan port langsung dalam kontena (jika dalam kontena dengar port 80, maka nyatakan port 80 di ServBay), tetapi modhost
terdedah kepada isu pertindihan port. - ServBay CA: Untuk kemudahan pembangunan HTTPS, sangat disarankan memasang ServBay Public CA ke sistem anda. Ini memastikan sijil SSL tempatan dijana oleh ServBay dipercayai pelayar dan tidak menimbulkan amaran keselamatan.
Soalan Lazim & Penyelesaian Masalah (FAQ)
S: Tidak dapat akses laman web selepas ditambah, pelayar tunjuk ralat sambungan atau tamat masa?
J: Sila semak langkah berikut:
- Status laman web ServBay: Pastikan status entri laman web di halaman pengurusan adalah “Berjalan”.
- Status kontena Docker: Jalankan
docker ps
di terminal dan pastikan kontena Docker sasaran sedang berjalan. - Pemadanan port Docker: Jalankan
docker ps
, semak maklumat port mapping pada kolumPORTS
, pastikan port hos (cth.0.0.0.0:8080->80/tcp
atau127.0.0.1:8080->80/tcp
— nilai8080
mesti padan dengan konfigurasi dalam ServBay). - Status servis dalaman kontena: Pastikan servis web (Nginx, Apache, aplikasi Node dsb.) dalam kontena mendengar pada port yang betul dan tiada ralat dalaman. Boleh rujuk log kontena (
docker logs <ID atau nama kontena>
). - Semak log ServBay: Klik ikon log untuk laman web di senarai ServBay, semak log akses dan log ralat bagi maklumat lebih terperinci.
- Fail hosts sistem: Walaupun ServBay mengurus ini secara automatik, anda boleh semak sendiri fail
/etc/hosts
sama ada domain telah dipetakan ke127.0.0.1
. - Firewall: Pastikan firewall tidak menyekat akses ke port yang digunakan ServBay atau port Docker yang didedahkan.
S: Bolehkah saya urus kontena Docker sepenuhnya menggunakan ServBay?
J: ServBay memfokuskan kepada pengurusan perkhidmatan web tempatan, pangkalan data, persekitaran bahasa dan routing trafik ke backend, termasuk ke kontena Docker. Tetapi fungsi pengurusan kitar hayat kontena Docker secara penuh (seperti menjalankan, menghentikan atau bina imej) tidak disediakan dalam ServBay buat masa ini. Anda masih perlu menggunakan baris arahan Docker atau Docker Desktop untuk pengurusan kontena.
S: Apakah itu ServBay CA dan kenapa saya perlu pasang?
J: ServBay CA (Certificate Authority) ialah mekanisme pengurusan sijil khas oleh ServBay untuk memudahkan pembangunan HTTPS tempatan. ServBay User CA digunakan untuk tandatangan sijil SSL laman web tempatan anda, dan ServBay Public CA ialah sijil akar bagi User CA. Dengan memasang ServBay Public CA dalam Keychain sistem, OS dan pelayar anda akan percaya semua sijil yang ditandatangani, dan amaran "sambungan tidak selamat" tidak lagi muncul apabila ujian HTTPS dijalankan. Ini amat penting untuk simulasi persekitaran produksi semasa pembangunan dan ujian.
Rumusan
Menambah laman web yang dijalankan dalam kontena Docker ke ServBay merupakan kaedah fleksibel dan efisien; ServBay berperanan sebagai pusat pengurusan trafik dan domain dalam persekitaran pembangunan tempatan, manakala Docker menjalankan aplikasi dalam persekitaran terkandas. Dengan sedikit konfigurasi reverse proxy, pelbagai projek berasaskan Docker boleh disepadukan ke dalam aliran kerja ServBay anda tanpa kesukaran. Ikuti langkah dan perhatian yang disarankan dalam dokumen ini untuk melaksanakan dan menjalankan laman web Dockerized tempatan anda dengan lancar.