


Cara menggunakan Docker untuk penskalaan mendatar dan pengimbangan beban bekas
Dengan populariti pengkomputeran awan dan teknologi kontena, penskalaan mendatar dan pengimbangan beban telah menjadi ciri penting untuk aplikasi moden. Sebagai teknologi kontena yang popular, Docker menyediakan pelbagai kaedah untuk penskalaan mendatar dan pengimbangan beban kontena. Dalam artikel ini, kami akan memperkenalkan secara terperinci cara menggunakan Docker untuk penskalaan mendatar dan pengimbangan beban bekas, dan memberikan contoh kod khusus.
Penskalaan mendatar bekas
Penskalaan mendatar bekas merujuk kepada menambah atau mengurangkan bilangan bekas secara automatik berdasarkan keadaan beban. Docker menyediakan pelbagai kaedah untuk menskalakan bekas secara mendatar, termasuk menggunakan alatan seperti Docker Swarm, Docker Compose dan Kubernetes.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan Docker Swarm untuk skala mendatar bekas. Docker Swarm ialah alat orkestrasi kontena asli Docker. Ia boleh mengurus berbilang nod Docker secara automatik dan berkembang secara mendatar dalam unit bekas.
Berikut ialah contoh penskalaan mendatar bekas menggunakan Docker Swarm. Kami akan menggunakan aplikasi web mudah sebagai sasaran demonstrasi, yang ditulis dalam Node.js. Kami mula-mula membuat Dockerfile untuk membina imej aplikasi web.
FROM node:12 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 8080 CMD [ "npm", "start" ]
Selepas membina imej ini, kami akan menggunakan Docker Swarm untuk memulakan berbilang bekas dan menskalakannya secara mendatar. Kita boleh menggunakan arahan berikut untuk memulakan Docker Swarm:
docker swarm init
Seterusnya, kita boleh menggunakan arahan berikut untuk memulakan perkhidmatan dan menentukan bilangan bekas yang perlu dimulakan:
docker service create --replicas 3 --name webapp -p 8080:8080 my-webapp
Ini akan memulakan 3 bekas bernama "webapp" , dan petakannya ke port 8080 hos. Jika anda perlu menukar bilangan bekas, anda boleh menggunakan arahan berikut:
docker service scale webapp=5
Ini akan meningkatkan bilangan bekas kepada 5. Docker Swarm akan memuatkan permintaan baki secara automatik antara semua bekas, dan apabila bekas gagal, ia akan memulakan semula bekas baharu secara automatik untuk memulihkan perkhidmatan.
Pengimbangan Beban Bekas
Pengimbangan beban kontena bermaksud mengagihkan permintaan kepada berbilang bekas dan memastikan setiap bekas mempunyai beban yang sama. Docker menyediakan pelbagai kaedah untuk memuatkan bekas baki, termasuk menggunakan alatan seperti Docker Swarm, Docker Compose dan Nginx.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan Nginx untuk pengimbangan muatan kontena. Nginx ialah perisian pelayan web popular yang juga berfungsi sebagai pelayan proksi terbalik dan pengimbang beban.
Berikut ialah contoh penggunaan Nginx untuk pengimbangan muatan kontena. Kami akan menggunakan aplikasi web yang dibuat dalam bahagian sebelumnya dan memulakan berbilang bekas untuk mengendalikan permintaan. Kami mula-mula mencipta fail konfigurasi Nginx untuk menentukan strategi pengimbangan beban.
upstream webapp { server container1:8080; server container2:8080; server container3:8080; } server { listen 80; server_name my-webapp.com; location / { proxy_pass http://webapp/; } }
Fail konfigurasi ini mentakrifkan pelayan huluan bernama "webapp", yang mengandungi alamat dan port 3 bekas. Kami kemudiannya akan memulakan bekas Nginx dalam Docker dan memetakan fail konfigurasi ini ke direktori konfigurasi pelayan Nginx dalam bekas.
docker run -d -p 80:80 --name nginx -v /path/to/nginx.conf:/etc/nginx/nginx.conf nginx
Dengan menggunakan Nginx untuk mengimbangi beban kontena, kami boleh mengedarkan permintaan kepada semua kontena dan memastikan setiap kontena mempunyai beban yang sama. Lebih-lebih lagi, Nginx turut menyokong ciri lanjutan lain seperti konfigurasi dinamik dan pengimbangan beban berasaskan berat.
Kesimpulan
Dalam artikel ini, kami memperkenalkan secara terperinci cara menggunakan Docker untuk penskalaan mendatar dan pengimbangan beban bekas, dan memberikan contoh kod khusus. Penskalaan mendatar dan pengimbangan beban bekas adalah ciri yang mesti ada untuk aplikasi moden, dan Docker menyediakan pelbagai alat berkuasa untuk mencapai keupayaan ini. Jika anda menggunakan Docker untuk mengurus aplikasi, pastikan anda menguasai teknik penskalaan kontena mendatar dan pengimbangan beban.
Atas ialah kandungan terperinci Cara menggunakan Docker untuk penskalaan mendatar dan pengimbangan beban bekas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mengimport imej di Docker melibatkan mendapatkan imej kontena yang dibina dari repositori jauh dan mengimportnya ke repositori tempatan. Langkah -langkah termasuk: Tarik imej (Docker Pull) Senaraikan imej Docker (imej docker) dan import imej ke repositori tempatan (Docker Import)

Untuk menghentikan sambungan rangkaian Docker, ikuti langkah -langkah berikut: 1. Tentukan nama rangkaian untuk berhenti; 2. Gunakan perintah berhenti rangkaian Docker untuk menghentikan rangkaian; 3. Semak status berhenti untuk mengesahkan bahawa rangkaian dihentikan.

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").
