Menambah dan Mengkonfigurasi Laman Web Berasaskan Kontena Docker dalam ServBay
ServBay ialah persekitaran pembangunan web setempat yang menyokong macOS dan Windows, serta pelbagai bahasa dan teknologi. Selain menjalankan pakej perisian terbina dalam ServBay (seperti PHP, Node.js, Python, Go, Java, pangkalan data dan lain-lain) bagi menghoskan laman web, anda juga boleh memanfaatkan kontena Docker untuk mengoperasi dan mengurus laman web atau servis anda. Kaedah ini menawarkan kelenturan, pengasingan persekitaran, dan konsistensi yang tinggi, terutama sekali untuk projek yang memerlukan tetapan atau keperluan khusus.
Dokumen ini akan menerangkan secara terperinci cara menambah sebuah laman web yang dihoskan oleh kontena Docker dalam ServBay, serta mengintegrasikannya ke dalam aliran kerja pembangunan setempat anda menggunakan fungsi reverse proxy ServBay.
Gambaran Keseluruhan
Dengan mengkonfigurasi ServBay sebagai reverse proxy, anda boleh mengalihkan permintaan domain tertentu ke port servis yang berjalan di dalam kontena Docker. ServBay akan mengendalikan trafik masuk (seperti sijil HTTPS, resolusi domain, dan sebagainya), manakala kontena Docker menumpukan kepada aplikasi anda. Pendekatan ini menggabungkan kemudahan pengurusan ServBay dengan kekuatan pengasingan aplikasi Docker.
Langkah-langkah berikut akan membimbing anda untuk menambah dan mengkonfigurasi sebuah laman web berasaskan servis Docker dalam ServBay.
Prasyarat
Sebelum bermula, pastikan anda telah menyempurnakan perkara berikut:
- ServBay telah dipasang dan dijalankan: ServBay berjaya dipasang dan dimulakan di macOS anda.
- 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 telah membina atau menarik imej Docker yang mengandungi laman web atau aplikasi anda, serta boleh menjalankan imej tersebut untuk melancarkan sebuah kontena.
Langkah-langkah Menambah Laman Web
Langkah 1: Sedia dan Jalankan Kontena Docker
Mula-mula, pastikan kontena Docker anda beroperasi dan servis dalaman (seperti pelayan web) mendengar pada port yang telah dipetakan keluar ke hos (macOS anda) melalui fungsi port mapping Docker.
Sebagai contoh, jika anda mempunyai sebuah kontena Nginx ringkas yang mendengar pada port 80 secara dalaman, anda boleh gunakan arahan berikut untuk memetakan port 8080 pada hos ke port 80 kontena:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
Dalam contoh ini, servis Nginx dalam kontena my-nginx-servbay
akan mendengar di port 80
, namun dengan paramater -p 8080:80
, port 80
kontena dipetakan ke port 8080
pada hos. ServBay kemudian akan perlu berhubung ke port 8080
pada hos anda.
Sila pastikan servis dalaman kontena anda mendengar pada port yang benar, dan pemetaan port ke hos dilakukan dengan betul mengikut keperluan aplikasi serta Dockerfile anda.
Langkah 2: Buka Antaramuka Pengurusan ServBay
Cari ikon aplikasi ServBay
dalam folder Aplikasi di macOS anda dan klik dua kali untuk membuka antaramuka pengurusan ServBay.
Langkah 3: Navigasi ke Halaman Pengurusan Laman Web
Selepas ServBay dibuka, anda akan melihat paparan utama. Di bar navigasi sebelah kiri, cari dan klik pilihan Laman Web
. Ini akan membawa anda ke halaman pengurusan laman web ServBay, di mana anda boleh melihat dan mengkonfigurasi semua laman web setempat yang telah ditambah.
Rajah: Klik “Laman Web” di bar navigasi kiri untuk masuk ke halaman pengurusan.
Langkah 4: Tambah Laman Web Baru
Di bahagian bawah halaman pengurusan laman web, anda akan melihat butang +
. Klik butang ini, dan ServBay akan memaparkan borang baru di sebelah kanan untuk anda mengisi maklumat konfigurasi laman web baharu.
Rajah: Klik butang “+” di bahagian bawah untuk menambah laman web baharu.
Langkah 5: Konfigurasi Tetapan Laman Web
Dalam borang konfigurasi laman web yang baru dibuka, isi maklumat penting berikut:
- Nama: Tetapkan nama yang mudah dikenali untuk laman web anda, contoh
Docker Nginx Demo
. Nama ini hanya untuk pengurusan dalaman ServBay. - Domain: Masukkan domain setempat yang ingin digunakan untuk mengakses laman web kontena Docker tersebut di pelayar web anda. Disarankan menggunakan akhiran
.servbay.demo
untuk elak konflik dengan domain awam, sepertidocker.servbay.demo
. ServBay akan secara automatik mengkonfigurasi fail hosts komputer anda agar domain ini menunjuk ke IP setempat (127.0.0.1
). - Protokol: Pilih protokol yang disokong laman web. Biasanya biarkan pada nilai lalai
HTTP/HTTPS
. ServBay akan mendengar pada port HTTP (80) dan HTTPS (443), serta mengurus proses SSL berdasarkan tetapan anda. - Kaedah Permintaan Sijil SSL: Disarankan pilih
ServBay CA
. ServBay akan menjana dan mengurus secara automatik sijil SSL tempatan yang dipercayai, ditandatangani oleh ServBay User CA. Dengan memasang ServBay Public CA ke sistem rantai kunci, pelayar anda akan mempercayai sijil setempat ini, membolehkan pembangunan dan ujian HTTPS dengan mudah. Anda juga boleh pilihACME
(misal untuk sijil Let's Encrypt) atauCustom
(gunakan sijil anda sendiri) jika perlu. - Jenis Laman Web: [Penting] Pilih
Reverse Proxy (Proxy Balik)
. Ini bermakna ServBay akan bertindak sebagai pintu masuk untuk domain tersebut dan mengarahkan permintaan ke alamat servis belakang yang anda tentukan. - Alamat IP: Masukkan alamat IP hos di mana servis kontena Docker mendengar. Untuk kebanyakan tetapan Docker setempat, ini ialah alamat loopback
127.0.0.1
. - Port: Masukkan nombor port yang didedahkan oleh servis kontena Docker di hos anda. Ini adalah port yang anda tentukan dalam arahan
docker run -p <port hos>:<port kontena>
. Contohnya, jika telah gunakan-p 8080:80
, masukkan8080
di sini.
Rajah: Isi maklumat konfigurasi laman web reverse proxy Docker.
Langkah 6: Lengkapkan dan Simpan Konfigurasi
Setelah semua maklumat lengkap diisi, klik butang Tambah (Add)
di bawah borang.
ServBay akan memproses permintaan anda, secara automatik menambah peraturan reverse proxy pada konfigurasi pelayan web ServBay (seperti Caddy atau Nginx), serta mengemas kini fail hosts sistem agar domain setempat ditunjukkan dengan betul.
Selepas berjaya disimpan, ServBay mungkin akan mengambil masa seketika untuk mengaplikasi konfigurasi, kemudian anda sudah boleh mencuba melawat domain yang baharu ditambah tadi.
Langkah 7: Lawati Laman Web dan Guna Butang Pintasan
Apabila konfigurasi berjaya disimpan, kembali ke halaman pengurusan laman web, anda akan melihat entri laman web yang baharu. Pastikan statusnya tertera “berjalan”.
Anda kini boleh mengakses domain yang telah ditetapkan tadi di pelayar anda (contohnya http://docker.servbay.demo
atau https://docker.servbay.demo
). Jika semua konfigurasi betul, ServBay akan mengarahkan permintaan anda ke servis dalam kontena Docker dan memaparkan kandungan laman web daripada kontena tersebut.
Di entri senarai laman web, ServBay menyediakan pelbagai butang pintasan yang memudahkan tugas anda, termasuk:
- Buka direktori akar laman web dalam IDE: (Untuk laman web jenis reverse proxy, butang ini mungkin tidak relevan atau menunjuk ke direktori konfigurasi ServBay; bergantung pada versi ServBay dan tetapan)
- Buka laman web dalam pelayar: Buka URL laman web dengan pantas di tab baru pelayar.
- Lihat log laman web: Lihat log akses serta log ralat yang dicatat oleh ServBay untuk laman web tersebut – sangat berguna semasa 'debug'.
- Henti atau aktifkan laman web: Jeda atau aktifkan konfigurasi reverse proxy laman web itu untuk sementara waktu.
- Padam laman web: Buang konfigurasi laman web daripada ServBay.
Rajah: Butang pintasan yang disediakan pada entri senarai laman web ServBay.
Perhatian & Amalan Terbaik
- Status kontena Docker: Pastikan kontena Docker sasaran sentiasa beroperasi. Jika tidak, ServBay tidak dapat mengarahkan permintaan dengan berjaya.
- Pemetaan port: Periksa konfigurasi pemetaan port Docker (
-p
parameter) dan nombor port yang diisi dalam ServBay adalah konsisten, serta port itu tidak digunakan oleh program lain pada hos. - Firewall: Semak tetapan firewall macOS anda, pastikan port yang digunakan oleh ServBay (lalai 80, 443) dan port hos yang didedahkan oleh Docker tidak disekat.
- Mod rangkaian Docker: Kebiasaannya, gunakan mod rangkaian
bridge
dengan pemetaan port melalui parameter-p
adalah cara paling mudah. Jika anda menggunakan mod rangkaianhost
, ServBay boleh mengakses port yang didengar dalam kontena secara langsung (misal: port 80), tetapi modhost
boleh menyebabkan isu konflik port. - ServBay CA: Untuk pembangunan HTTPS yang mudah, amat disyorkan untuk memasang ServBay Public CA agar sijil tempatan ServBay diiktiraf dan tiada amaran keselamatan dalam pelayar anda.
Soalan Lazim & Penyelesaian Masalah (FAQ)
S: Tidak dapat mengakses laman web selepas ditambah, pelayar menunjukkan ralat sambungan atau tamat masa?
J: Sila semak langkah berikut:
- Semak status laman web dalam ServBay: Pastikan entri laman web ditanda “berjalan” pada halaman pengurusan ServBay.
- Semak status kontena Docker: Jalankan
docker ps
dalam terminal, pastikan kontena Docker sasaran sedang berjalan. - Periksa pemetaan port Docker: Jalankan
docker ps
dan lihat maklumat pemetaan port pada kolumPORTS
. Sahkan port hos (cth:0.0.0.0:8080->80/tcp
atau127.0.0.1:8080->80/tcp
, iaitu8080
) sama seperti yang dikonfigurasi dalam ServBay. - Periksa servis dalaman kontena Docker: Pastikan servis web dalaman kontena (seperti Nginx, Apache, aplikasi Node, dsb) mendengar pada port yang betul serta tiada ralat dalaman. Boleh lihat log kontena Docker dengan
docker logs <ID atau nama kontena>
. - Periksa log ServBay: Klik ikon log pada entri laman web dalam ServBay untuk semak log akses dan ralat dalam ServBay, mungkin terdapat maklumat kegagalan penghalaan.
- Periksa fail hosts sistem: Walaupun ServBay akan urus automatik, anda boleh semak fail
/etc/hosts
secara manual agar domain anda benar-benar menunjuk ke127.0.0.1
. - Periksa firewall: Pastikan port yang digunakan oleh ServBay atau port hos Docker tiada halangan oleh firewall.
S: Bolehkah saya menggunakan ServBay untuk mengurus lifecycle kontena Docker itu sendiri?
J: ServBay fokus kepada pengurusan perkhidmatan web setempat, pangkalan data, persekitaran bahasa pengaturcaraan, serta penghalaan trafik ke servis belakang (termasuk kontena Docker). Ia tidak menyediakan pengurusan lifecycle lengkap kontena Docker (seperti mula/henti/bina imej dsb). Gunakan command line Docker atau Docker Desktop untuk pengurusan kontena.
S: Apakah itu ServBay CA dan kenapa saya perlu memasangnya?
J: ServBay CA (Certificate Authority) ialah sistem pengurusan sijil yang disediakan oleh ServBay khusus untuk pembangunan HTTPS setempat. ServBay User CA digunakan untuk menandatangani sijil SSL laman web anda, manakala ServBay Public CA ialah root certificate untuk ServBay User CA. Dengan memasang ServBay Public CA ke sistem rantai kunci anda, semua sijil yang dikeluarkan oleh ServBay User CA akan diiktiraf oleh sistem operasi dan pelayar anda – sekali gus menghapuskan amaran 'sambungan tidak selamat' semasa akses HTTPS. Ini amat mustahak untuk pembangunan dan ujian HTTPS secara realistik.
Ringkasan
Menambah laman web berasaskan kontena Docker dalam ServBay merupakan langkah efisien dan fleksibel untuk pembangunan setempat, dengan ServBay berfungsi sebagai hab pengurusan trafik dan domain, manakala Docker menyediakan pengasingan serta kelenturan persekitaran aplikasi. Melalui konfigurasi reverse proxy yang mudah, pelbagai projek berasaskan Docker dapat diintegrasikan ke dalam aliran kerja ServBay anda. Ikuti langkah-langkah serta perhatian yang dinyatakan dalam artikel ini untuk memastikan laman web Docker anda berjalan lancar dalam persekitaran pembangunan setempat.