Rumah Operasi dan penyelenggaraan operasi dan penyelenggaraan linux Cara menggunakan Docker untuk penskalaan mendatar dan pengimbangan beban bekas

Cara menggunakan Docker untuk penskalaan mendatar dan pengimbangan beban bekas

Nov 07, 2023 am 09:19 AM
docker pengimbangan beban Skala mendatar

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" ]
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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/;
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara mengimport gambar Docker Cara mengimport gambar Docker Apr 15, 2025 am 08:24 AM

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)

Cara Menghentikan Sambungan Rangkaian Docker Cara Menghentikan Sambungan Rangkaian Docker Apr 15, 2025 am 10:21 AM

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 Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

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).

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

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

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

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.

Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

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)

Cara membuat bekas untuk Docker Cara membuat bekas untuk Docker Apr 15, 2025 pm 12:18 PM

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]

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

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").

See all articles