1. Pendahuluan
Mungkin ada beberapa siswa yang tidak memahami proyek Docker. Docker ditulis dalam bahasa Go. Ini adalah proyek teknologi virtual ringan yang dengan cepat digunakan. Ini memungkinkan pengembang untuk mengemas program mereka dan menjalankan lingkungan bersama -sama dan membuatnya menjadi gambar Docker (Mirror). Dengan cara ini, sebarkan mereka di server. Anda hanya perlu mengunduh gambar ini untuk menjalankan program, menghindari kerumitan memasang berbagai ketergantungan dan lingkungan setiap saat, dan juga mencapai isolasi antar aplikasi.
2. Sadarilah persiapan
Pertama -tama saya akan membuat aplikasi web node.js sederhana untuk membangun cermin. Kemudian jalankan wadah berdasarkan gambar ini. Ini memungkinkan penyebaran yang cepat.
Karena alasan jaringan, gambar Node.js saya diunduh dari perpustakaan gambar domestik, bukan Docker Hub.
Mari kita tarik gambar NodeJS terlebih dahulu dari situs web cermin domestik.
Docker Pull Hub.C.163.com/NCE2/NodeJs:0.12.2
Setelah mengunduh, periksa gambar kami dan temukan namanya. Kami akan menggunakannya nanti.
3. Buat program Node.js
Buat paket.json dan tulis informasi dan dependensi terkait
VI Package.json
{"Name": "WebTest", "Versi": "1.0.0", "Deskripsi": "Node.js di Docker", "penulis": "lpxxn", "main": "server.js", "skrip": {"start": "node server.js"}, "dependensi": {"" {"". "Buat server.js
vi server.js
Tulis web paling sederhana web ini didasarkan pada kerangka kerja ekspres dan mengembalikan kata hello. Perhatikan bahwa kami mendengarkan port 8888
'Gunakan strict'; var ekspresi = membutuhkan ('ekspres'); var port = 8888; var app = express (); app.get ('/', function (req, res) {res.send ('hello world/n');}); app.listen (port); console.log ('berjalan di http: // localhost:' + port); port);4. Buat DockerFile
Selanjutnya, protagonis naik panggung untuk membuat file DockerFile. File ini adalah file yang diperlukan untuk membuat gambar.
VI Dockerfile
Docker akan membangun gambar sesuai dengan isi Dockerfile. Saya akan memberikan kode lengkap terlebih dahulu, dan kemudian menjelaskannya satu per satu baris
Dari hub.c.163.com/nce2/nodejs:0.12.2# Buat direktori aplikasi mkdir -p/home/serviceworkdir/home/service# bundle app Sourcecopy. /home/servicerun npm installexpose 8888cmd ["npm", "start"]
Mari kita jelaskan kalimatnya berdasarkan kalimat
Dari hub.c.163.com/nce2/nodejs:0.12.2
Dari adalah gambar sumber dasar untuk membangun gambar. hub.c.163.com/nce2/nodejs:0.12.2 adalah nama gambar, yang merupakan gambar yang kami tarik ke bawah dari server domestik di awal. Jika tidak ada Docker secara lokal, itu akan menarik gambar itu sendiri.
# Buat direktori aplikasi mkdir -p /home /serviceworkdir /home /service
Kalimat pertama yang digunakan untuk membuat folder dalam gambar dan akan digunakan untuk menyimpan kode kami di masa mendatang.
Kalimat kedua, WorkDir, adalah menggunakan folder yang kami buat sebagai direktori yang berfungsi.
# Bundel Aplikasi Sourcecopy. /Home/Servicerun NPM Instal
Salinan kalimat pertama adalah menyalin semua file di direktori mesin saat ini ke folder /layanan home /layanan gambar.
Kalimat kedua menggunakan NPM untuk menginstal semua dependensi yang diperlukan untuk aplikasi kami.
Ekspos 8888
Karena aplikasi web kami mendengarkan port 8888, kami mengekspos port ini ke host sehingga saya dapat mengakses web dari luar.
Cmd ["npm", "start"]
Saya yakin saya bisa tahu apa yang dia lakukan tanpa menjelaskannya. Jalankan perintah npm start , perintah ini akan menjalankan Node Service.js
Mulai aplikasi web kami.
5. Bangun gambar
Jalankan perintah berikut di direktori tempat DockerFile Anda terletak untuk membangun gambar.
Docker Build -t MynodeApp.
Jangan lupa poin terakhir
Setelah membangun, lihat gambar kami
6. Jalankan cermin
Docker Run -D -P 8888: 8888 AC5
-D menunjukkan bahwa wadah akan berjalan di latar belakang, -p menunjukkan pemetaan port, memetakan 8888 produk mesin lokal ke port 8888 dari wadah sehingga jaringan eksternal dapat mengakses web kami melalui 8888 produk mesin lokal.
AC5 di belakang adalah ID gambar kami. Karena 3 pertama sudah dapat menemukan gambar ini, saya tidak menuliskan berikut ini.
Periksa ID wadah yang baru saja kami jalankan melalui Docker PS
Cetak Log 7370 adalah ID Kontainer kami. Sama seperti ID gambar, Anda dapat menulis semuanya. Saya malas dan menulis 4 digit pertama, yang cukup untuk mengidentifikasi wadah ini.
Log Docker 7350
Jika Anda memikirkan perintah berikut dalam wadah, Anda dapat beroperasi di Linux biasa setelah memasukkannya. Jika Anda ingin keluar, Anda dapat menjalankan perintah keluar.
7. Tes
Mari kita periksa apakah kita dapat mengakses web kita melalui curl.
Curl -i Localhost: 8888
Anda juga dapat memeriksanya melalui browser
8. Ringkasan
Oke, tutorial ini ada di sini. Sudahkah Anda mempelajarinya? Semoga artikel ini membantu Anda memulai. Jika Anda memiliki pertanyaan atau pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.