Cara docker menggunakan SpringBoot dan menggantikan pakej jar
Direktori projek
fail fail docker
Buat fail fail docker, yang akan digunakan kemudian.
Pengedaran Fail
Buat folder /data/docker/helllolearn baharu pada pelayan (laluan fail boleh disesuaikan), dan salin pakej balang berpakej maven dan fail fail docker yang dibuat di atas ke pelayan Cipta folder baharu (/data/docker/hellolearn).
Jana imej
docker build -t hellolearn .
docker build -t Nama imej: label dockerfile Kedudukan relatif, titik mewakili direktori semasa, dan lalai adalah terkini jika tiada teg ditulis.
Mulakan bekas
docker run -d -p 8301:8301 --name hellolearn hellolearn
docker start hellolearn
Parameter -d adalah untuk membiarkan bekas berjalan di latar belakang; --p adalah untuk pemetaan port pada masa ini (port sebelum kolon) port dalam pelayan dipetakan ke bekas Port 8301 (port selepas kolon) (application.properties dikonfigurasikan dengan 8301)
Akses web
penyerahan pemetaan pakej jar
Mengikut langkah di atas sudah cukup untuk mengendalikan keseluruhan proses penempatan docker springboot dengan mudah. Tetapi selepas memulakan bekas, setiap kali pakej balang perlu dikemas kini, imej mesti dibuat semula, dan kemudian bekas mesti dibuat semula. Proses ini sangat rumit dan tidak cekap. Jadi bagaimana untuk mengemas kini pakej balang secara langsung untuk melengkapkan penggunaan tanpa mengemas kini imej atau bekas?
5.1 Kemas kini fail docker
Barisan terakhir entrypoint ["java","-jar","/data/learn-web-0.0.1-snapshot.jar"]
akan menjalankan fail learn-web-0.0.1-snapshot.jar dalam direktori /data dalam bekas.
5.2 Gunakan arahan docker build untuk membina imej
docker build -t hellolearn .
5.3 Cipta & mulakan bekas
docker run --name hellolearn -it -v /data/docker/newhellolearn/package:/data -d -p 8301:8301 hellolearn
-v Direktori hos dikaitkan dengan direktori kontena. Dengan cara ini, direktori /data/docker/newwellolearn/package hos dipetakan ke direktori /data docker.
Dalam kes ini, apabila pakej jar berubah, anda boleh terus mengemas kini pakej jar dalam direktori /data/docker/newwellolearn/package selepas mengemas kini pakej jar, anda perlu memulakan semula bekas .
Pengaturan skrip
Kaedah penggunaan pakej balang menyebabkan masalah Jika nama pakej balang berubah, seperti perubahan nombor versi (learn-web-0.0.1-snapshot.jar--. > >belajar-web-1.0.1-snapshot.jar). Apa yang perlu dilakukan? Kaedah ketiga penggunaan melalui skrip diperkenalkan di bawah.
6.1 Cipta fail hellolearn.sh
java -jar /data/learn-web-0.0.1-snapshot.jar
Letak hellolearn. sh dimuat naik ke /data/docker/helllolearn/scriptdeploy/package. Laluan folder ini boleh disesuaikan. Ingat laluan folder ini, yang akan digunakan kemudian.
6.2 Tambah kebenaran pelaksanaan skrip
chmod +x hellolearn.sh
6.3 Cipta fail docker
cmd ["sh","-c","/data/hellolearn.sh"]
dinyatakan dalam bekas Mulakan skrip hellolearn.sh yang dibuat dalam 6.1 semasa permulaan.
Perhatikan bahawa arahan terakhir yang dinyatakan di atas ialah titik masuk, yang ditukar kepada cmd dalam penggunaan skrip Jika anda berminat dengan perbezaan khusus antara titik masuk dan cmd, anda boleh mengetahui lebih lanjut.
6.4 Muat naik pakej jar
Letakkan pakej jar ke dalam direktori folder yang sama seperti hellolearn.sh, iaitu, /data/docker/hellolearn/scriptdeploy/package, dan kemudian tambah direktori ini apabila mencipta bekas (direktori hos) dipetakan ke direktori /data bekas. .
6.5 Gambarajah Struktur Direktori Fail
Saya tidak tahu sama ada anda keliru tentang struktur direktori di sini saya memuat naik gambar rajah struktur direktori hos saya mesin untuk menjadikannya jelas sekali imbas.
6.6 Cipta imej
docker build -t hellolearn-script . Tempoh pada akhir
mewakili direktori semasa, jadi arahan untuk menjana imej perlu berada dalam Laksanakan dalam direktori di mana fail docker berada.
6.7 Buat & mulakan bekas
docker run --name hellolearn-script -it -v /data/docker/hellolearn/scriptdeploy/package:/data -d -p 8302 :8301 hellolearn-script
docker mulakan hellolearn-script
Kaitkan direktori /data/docker/hellolearn/scriptdeploy/package hos dengan pemetaan direktori /data bekas. Dalam kes ini, apabila pakej balang berubah, cuma kemas kini pakej balang dalam direktori hos secara terus. Walaupun nama pakej jar berubah, anda masih perlu mengemas kini skrip hellolearn.sh. Mulakan semula bekas selepas mengemas kini.
Kesan ujian web 6.8
Lihat log docker
log docker [pilihan] id bekas
penerangan pilihan:
-f: Jejak keluaran log
--sejak: Paparkan semua log pada masa mula tertentu
-t: Paparkan cap masa
-- ekor : Senaraikan hanya n log kontena terkini
7.1 Lihat log selepas masa yang ditetapkan, hanya paparkan 100 baris terakhir:
log docker -f -t -- since="2020-10-01" --tail=100 id kontena
7.2 Semak log tempoh masa yang ditentukan
log buruh pelabuhan -t --sejak ="2020-10-01t19:00:00" --sehingga "2020-10-01t19:00:00" id bekas
7.3 Lihat log selepas masa yang ditetapkan:
log buruh pelabuhan -t --since="2020-10-01t19:00:00" id bekas
7.4 Lihat log 5 minit terakhir:
log buruh pelabuhan --sejak id kontena 5m
7.5 Laksanakan bash pada bekas yang ditentukan melalui perintah exec:
docker exec hellolearn -it /bin/bash
atau docker exec -it hellolearn bash
7.6 Lihat ip docker
docker inspect --format='{{.networksettings.ipaddress}}' hellolearn
Masalah yang dihadapi
Perihalan masalah : tindak balas ralat daripada daemon: pemandu gagal memprogramkan sambungan luaran pada titik akhir flamboyant_leavitt (iptables gagal: iptables --wait -t nat -a docker -p tcp -d 0/0 --dport 8301 -j dnat --to-destination 172.17. 0.2 :8301 ! -i docker0: iptables: tiada rantai/sasaran/padanan dengan nama itu.
Penyelesaian: Mulakan semula docker. systemctl restart docker
Atas ialah kandungan terperinci Cara docker menggunakan SpringBoot dan menggantikan pakej jar. 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



Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.

Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

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.

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

Anda boleh beralih ke sumber cermin domestik. Langkah -langkah adalah seperti berikut: 1. Edit fail konfigurasi /etc/docker/daemon.json dan tambahkan alamat sumber cermin; 2. Selepas menyimpan dan keluar, mulakan semula perkhidmatan Docker Sudo SystemCtl Docker untuk meningkatkan kelajuan muat turun dan kestabilan imej.

Untuk menyimpan imej di Docker, anda boleh menggunakan arahan Docker Commit untuk membuat imej baru, yang mengandungi keadaan semasa bekas yang ditentukan, Sintaks: Docker Commit [Options] Nama Imej Container ID. Untuk menyimpan imej ke repositori, anda boleh menggunakan arahan PUSH Docker, Sintaks: Docker Push Nama Imej [: TAG]. Untuk mengimport imej yang disimpan, anda boleh menggunakan arahan tarik docker, sintaks: docker tarik nama imej [: tag].
