Rumah  >  Artikel  >  Java  >  Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

PHPz
PHPzke hadapan
2023-05-12 15:25:061762semak imbas

Pengenalan kepada docker

Docker ialah enjin kontena aplikasi sumber terbuka Berbanding dengan teknologi mesin maya tradisional, overhed prestasi kontena docker adalah sangat rendah, jadi ia juga disukai oleh pembangun . Memandangkan semakin ramai pembangun berdasarkan Docker, bilangan imej Docker telah menjadi lebih kaya Pada masa hadapan, pelbagai penyelesaian lengkap peringkat perusahaan boleh digunakan secara langsung dengan memuat turun imej. Oleh itu buruh pelabuhan menjadi lebih penting.

Tujuan artikel ini

Artikel ini menggunakan contoh projek untuk memperkenalkan cara mengurus dan memantau bekas docker melalui antara muka luaran docker.

Senario aplikasi:

Satukan kumpulan sumber pelayan melalui docker, peruntukkan sumber dan cipta bekas atas permintaan untuk memaksimumkan penggunaan sumber. Pada masa yang sama, pengasingan antara setiap perniagaan (bekas) dipastikan. Dan boleh menyokong penggunaan projek dalam talian.

1 Cipta bekas tomcat docker melalui antara muka dan konfigurasikan kuota.

2. Muat naik pakej perang dan letakkannya ke bekas.

3. Pantau penggunaan sumber semua bekas docker secara dinamik.

Kod ini berdasarkan komponen sumber terbuka docker-java, dan pembangunan fungsi diselesaikan berdasarkan spring-boot. Antara muka adalah seperti yang ditunjukkan di bawah:

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Persekitaran asas

1 gerhana 2019-03; . Untuk tujuan pembelajaran dan kesederhanaan, persekitaran Linux tidak digunakan, tetapi prinsip dan arahan asas adalah sama.

Teknologi dan mata pengetahuan yang berkaitan:

maven, spring-boot mvc spring, muat naik dan muat turun, jquery ajax dan muat naik.

Prinsip Pelaksanaan

Docker menyediakan antara muka yang kaya (seperti api yang tenang) kepada dunia luar, yang melaluinya docker boleh diuruskan. Komponen sumber terbuka docker-java dikapsulkan berdasarkan antara muka ini, menjadikan pembangunan lebih mudah. Sudah tentu, terdapat komponen lain yang dibungkus di pasaran yang boleh anda bandingkan dan pelajari sendiri. Terima kasih kepada pengarang sumber terbuka di sini.

Persediaan awal untuk proses pelaksanaan

1 Naik taraf tingkap

Memandangkan kami menggunakan persekitaran windows, komputer pengarang sendiri telah dipasang terlebih dahulu. dengan versi keluarga win10, manakala docker for windows perlu dijalankan pada sistem pengendalian peringkat lebih tinggi untuk menggunakan teknologi virtualisasi, jadi ia perlu dinaik taraf kepada versi profesional.

Jika anda perlu menaik taraf, proses naik taraf adalah agak mudah Pengenalan ringkas adalah seperti berikut (anda boleh melangkaunya jika anda sudah menjadi versi profesional):

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-javaKlik untuk menukar kata laluan produk Selepas memasukkan kunci versi profesional, tunggu peningkatan beransur-ansur. Anda boleh mencari kunci dalam talian sendiri, ia masih ada.

2. Pasang docker for windows

Pergi ke tapak web rasmi untuk memuat turun, dan kemudian ambil langkah seterusnya. Selepas pemasangan, ia akan bermula dengan sendirinya, dan logo docker akan muncul pada bar alat selepas permulaan.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-javaSelepas pemasangan berjaya, anda boleh menaip beberapa arahan untuk menguji sama ada ia berjaya. Contohnya: Lihat maklumat asas tentang buruh pelabuhan.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java3.

Oleh kerana alamat cermin lalai adalah lambat, cermin tomcat adalah lebih daripada 500 meter Jika rangkaian tidak baik, muat turun akan menjadi sangat perlahan Anda boleh mengkonfigurasi alamat cermin ke alamat cermin NetEase berikut:

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java4. Mulakan pengurusan jauh

Semak item terakhir, tcp//xxx di sini ialah alamat sambungan jauh.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-javaSelepas bermula, taip alamat dalam penyemak imbas untuk melihat sama ada hasilnya boleh dikembalikan:

(Alamat ini sama seperti memasukkan docker indo dalam cmd) Apa yang dikembalikan ialah kandungan dalam format json:

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Pembangunan kod proses pelaksanaan

1 projek.

Memandangkan prosesnya mudah, proses ini ditinggalkan. Struktur kod keseluruhan projek adalah seperti berikut:

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java 2. Konfigurasikan kebergantungan maven docker-java dan spring boot Kandungan fail pom terakhir adalah seperti berikut

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Dengan melihat pakej balang, lapisan bawah docker-java harus menggunakan kebergantungan netty.

3. Tambahkan aplikasi fail konfigurasi spring.properties

Konfigurasikan lokasi jsp dan alamat pengurusan docker.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

4. Pengenalan kelas utama:

1.

Sudah tentu, anda juga boleh mengkonfigurasi bekas lain atau menggunakan pemalam jeti maven untuk bermula.

Anda boleh merujuk artikel lain: prinsip spring-boot (dengan pelaksanaan contoh spring-boot-starter) dengan muat turun kod sumber

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Bayar perhatian kepada peletakan kelas ini Adalah lebih baik untuk meletakkannya dalam direktori akar, supaya semua subdirektori di bawah direktori akar boleh diimbas oleh musim bunga.

2.dockerclientoperaterserver (kelas yang berinteraksi dengan docker), seperti berikut:

Termasuk kaedah berikut:

initclient: Pautan permulaan.

getdockerinfo: Dapatkan maklumat asas docker;

stat: maklumat statistik masa nyata;

createandstartrcontaineranddeployapp: Buat dan mulakan bekas mengikut parameter yang diluluskan oleh antara muka, dan gunakan projek pada masa yang sama

stopcontainer: hentikan bekas

rmcontainer: padamkan bekas;

closeclient: tutup pautan;

pushapptocotainer: gunakan pakej perang kepada tomcat; 🎜>

createcontainer (Buat bekas):

Dalam kaedah ini, docker-java digunakan untuk mencipta bekas, memperuntukkan kuota, mengkonfigurasi pemetaan port, dsb.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-javapushapptocotainer: Gunakan projek untuk tomcat

stat, kaedah pemantauan:

Tiada kaedah docker-java untuk memantau perkara ini. Malah, Ia disokong, tetapi memandangkan hasil yang dikembalikan memerlukan pelbagai pemprosesan, pendekatan oportunistik digunakan. Gunakan java untuk memanggil cmd untuk melaksanakan (statistik docker) untuk mendapatkan hasil pemantauan.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Kod untuk docker-java untuk mendapatkan maklumat pemantauan adalah seperti berikut:

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

3.dockerclientcontroller (pengawal yang berinteraksi dengan antara muka).

Pengenalan kepada kaedah utama:

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-javatambah bekas: tambah bekas dan muat naik pakej perang

Di atas adalah penjelasan kod utama .

Untuk butiran kod tertentu, sila muat turun kod sumber dan ikuti proses untuk melihatnya.

Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java

Antara muka utama selepas pelaksanaan:

Memandangkan ia adalah contoh projek, kod tersebut tidak menggunakan sebarang rangka kerja vue dan bootstrap. Saya sendiri menulis beberapa css dan js. Kesan khusus adalah seperti berikut:

1. Halaman utama pemantauan dan pengurusan

2 >

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pengurusan dinamik dan pemantauan bekas docker berdasarkan springboot dan docker-java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam