Kem Intensif Pembangunan Backend Node.js · Pelajaran

Pengkontenaan dengan Docker

Cipta Dockerfile, bina imej dan jalankan aplikasi Node.js Anda dalam kontena untuk mendapatkan persekitaran yang konsisten.

Pelajaran 1 daripada 412 langkah

Pengkontenaan dengan Docker ialah pelajaran Kem Intensif Pembangunan Backend Node.js percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif Pembangunan Backend Node.js, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif Pembangunan Backend Node.js merangkumi sejumlah 4 pelajaran.

Docker: Persekitaran yang Konsisten

Selamat datang ke pengkontenaan dengan Docker! Docker membantu membungkus aplikasi dan kebergantungannya ke dalam satu unit yang dipanggil kontena.

Hal ini memastikan app anda berjalan secara konsisten merentas persekitaran yang berbeza, daripada komputer riba anda hingga pelayan produksi.

Imej berbanding Kontena

Anggap Docker Image sebagai pelan tindakan atau templat. Ia ialah pakej perisian boleh laku yang ringan dan kendiri, yang merangkumi segala-galanya yang diperlukan untuk menjalankan aplikasi: kod, masa jalan, alat sistem, pustaka sistem dan tetapan.

Docker Container ialah tika imej yang sedang berjalan. Anda boleh menjalankan berbilang container daripada imej yang sama, dan setiap satunya diasingkan daripada yang lain.

Mengapa Docker untuk Node.js?

Docker menawarkan kelebihan yang ketara untuk aplikasi Node.js:

  • Ketekalan: Tiada lagi masalah “ia berfungsi pada mesin saya”.
  • Pengasingan: app Node.js anda berjalan dalam persekitarannya sendiri, sekali gus mengelakkan konflik.
  • Kebergantungan: Urus dan pakejkan semua kebergantungan npm anda dengan mudah.
  • Kebolehskalaan: Gunakan dan skalakan tika app yang sama dengan cepat.

Dockerfile Diterangkan

Dockerfile ialah file teks ringkas yang mengandungi sekumpulan arahan. Arahan ini memberitahu Docker cara membina imej aplikasi anda.

Ia mentakrifkan segala-galanya, daripada sistem pengendalian asas hingga menyalin file, memasang kebergantungan dan menentukan cara aplikasi anda harus dimulakan.

app Node.js Ringkas

Mari kita cipta aplikasi Node.js minimum yang akan kita jadikan container. Pelayan ringkas ini akan membalas dengan “Hello from Node.js in Docker!” pada port 3000.

Anda boleh menjalankan kod ini untuk melihatnya berfungsi secara setempat sebelum menjadikannya container Docker.

const http = require('http');

const hostname = '0.0.0.0';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello from Node.js in Docker!\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Dockerfile: Imej Asas dan Direktori Kerja

Setiap Dockerfile bermula dengan arahan FROM yang menentukan imej asas. Untuk Node.js, kita biasanya menggunakan imej Node.js rasmi. WORKDIR menetapkan direktori kerja di dalam container.

FROM node:18-alpine
WORKDIR /app

Dockerfile: Kebergantungan dan File

Seterusnya, kita menyalin package.json dan package-lock.json (jika ada) untuk memasang kebergantungan. Kemudian, kita menyalin baki file aplikasi. Susunan ini mengoptimumkan cache Docker.

  • COPY package*.json ./: Menyalin file pakej.
  • RUN npm install: Memasang kebergantungan.
  • COPY . .: Menyalin semua file app yang lain.
COPY package*.json ./
RUN npm install
COPY . .

Dockerfile: Port dan Arahan Permulaan

Akhir sekali, kita memberitahu Docker port yang digunakan oleh aplikasi kita untuk mendengar menggunakan EXPOSE. Ini ialah dokumentasi, bukannya peraturan tembok api. CMD mentakrifkan arahan yang dijalankan apabila container bermula.

EXPOSE 3000
CMD ["npm", "start"]

Membina Imej Docker Anda

Dengan Dockerfile yang telah sedia (serta app.js dan package.json dalam direktori yang sama), anda boleh membina imej tersebut. Bendera -t menandakan imej anda dengan nama (contohnya, my-node-app).

Buka terminal anda dan jalankan:

docker build -t my-node-app .

Menjalankan Docker Container Anda

Selepas membina imej, anda boleh menjalankan aplikasi dalam Docker container. Bendera -p 3000:3000 memetakan port 3000 pada mesin hos anda kepada port 3000 di dalam container.

Selepas menjalankan arahan berikut, lawati http://localhost:3000 dalam pelayar anda:

docker run -p 3000:3000 my-node-app

Semakan Arahan Dockerfile

Antara arahan Dockerfile berikut, yang manakah digunakan terutamanya untuk mengurus kebergantungan dan file aplikasi dalam imej?

Ringkasan: Docker untuk Node.js

Anda telah mempelajari asas pengcontaineran Docker! Kita telah membincangkan:

  • Perkara yang dimaksudkan dengan Docker Image dan Container.
  • Manfaat Docker untuk app Node.js.
  • Cara menulis Dockerfile untuk aplikasi Node.js.
  • Arahan untuk membina imej dan menjalankan container.

Docker menyediakan cara yang berkuasa untuk memastikan aplikasi anda konsisten dan mudah digunakan.

Percuma untuk bermula

Pelajari JavaScript dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
22
Pelajaran
92

Soalan Lazim

Adakah pelajaran “Pengkontenaan dengan Docker” percuma?

Ya — teks penuh “Pengkontenaan dengan Docker” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Kem Intensif Pembangunan Backend Node.js, tingkat taraf kepada CoddyKit PRO. Kursus Kem Intensif Pembangunan Backend Node.js merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengkontenaan dengan Docker”?

Cipta Dockerfile, bina imej dan jalankan aplikasi Node.js Anda dalam kontena untuk mendapatkan persekitaran yang konsisten. Anda berlatih Kem Intensif Pembangunan Backend Node.js menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif Pembangunan Backend Node.js?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif Pembangunan Backend Node.js di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Pengkontenaan dengan Docker” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif Pembangunan Backend Node.js ini?

Ya. Setiap pelajaran Kem Intensif Pembangunan Backend Node.js menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pengkontenaan dengan Docker
  2. Pelancaran Awan (AWS/Heroku)
  3. Pengurusan Proses dengan PM2
  4. Saluran Paip CI/CD dengan GitHub Actions
← Kembali ke Kem Intensif Pembangunan Backend Node.js