


Bagaimanakah idea membungkus dan menggunakan projek SpringBoot dengan cepat ke dalam imej Docker?
1. Ubah suai fail konfigurasi docker
Ubah suai laluan maklumat fail seperti berikut:
/etc/docker/daemon.json
Tambah kandungan berikut dalam fail konfigurasi:
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
Nota: Jika anda tidak mempunyai daemon.json ini, buat sendiri dalam direktori /etc/docker/
touch daemon.json
tcp mendayakan akses jauh dan unix mendayakan akses tempatan Jika akses tempatan tidak didayakan, ralat berikut akan berlaku apabila menggunakannya pada pelayan:
Tidak dapat menyambung ke daemon Docker di unix:///var/run/docker .sock. Adakah daemon docker sedang berjalan ?
Selepas pengubahsuaian selesai, laksanakan arahan berikut mengikut urutan:
#重新加载配置文件 systemctl daemon-reload # 重启服务 systemctl restart docker.service # 查看端口是否开启 默认端口2375 netstat -anp|grep 2375
2. Konfigurasikan pembukaan port
Laksanakan arahan berikut mengikut urutan
添加指定需要开放的端口: firewall-cmd --zone=public --add-port=2375/tcp --permanent 重载入添加的端口: firewall-cmd --reload 查询指定端口是否开启成功: firewall-cmd --query-port=2375/tcp
Nota: Konfigurasi di atas semuanya dilakukan apabila firewall dihidupkan tidak dihidupkan, konfigurasi di atas tidak diperlukan Sebagai contoh, pelayan saya tidak mempunyai firewall yang dikonfigurasikan Jalankan Maklumat berikut dipaparkan:
Akhirnya kami melihat jika kami. konfigurasi berkesan
curl http://127.0.0.1:2375/info
Jika maklumat berikut muncul, konfigurasi berjaya
3 IDEA memasang pemalam Docker
Jika versi idea anda lebih tinggi, pemalam docker terbina dalam
Jika tidak, jangan risau, kami boleh memasangnya sendiri
4. IDEA konfigurasikan docker
Nota: Saya melebihi 192.168.1.2 ialah IP pelayan saya sendiri, cuma tukarkannya kepada IP pelayan tempat docker anda berada
Selepas mengklik Guna, ia akan muncul dalam perkhidmatan anda
Klik sambung, kami akan menemui maklumat Kontainer konfigurasi docker kami
5. Konfigurasi Docker bersepadu SpringBoot
5.1 Pasang kebergantungan pom
Pasang pemalam: Docker-maven-plugin
<!--docker-maven-plugin插件打包--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--镜像名称--> <imageName>${project.artifactId}</imageName> <!--指定标签--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--基础镜像jdk1.8--> <baseImage>java</baseImage> <!--制作者提供本人信息--> <maintainer>ninesun@qq.com</maintainer> <!--切换到Root目录--> <workdir>/ROOT</workdir> <cmd>["java", "-version"]</cmd> <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint> <!--指定DockerFile路径--> <!-- <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>--> <!--指定远程docker api地址--> <dockerHost>http://192.168.1.2:2375</dockerHost> <!-- 这里是复制 jar 包到 docker 容器指定目录配置 --> <resources> <resource> <targetPath>/ROOT</targetPath> <!--用于指定需要复制的根目录--> <directory>${project.build.directory}</directory> <!--用于指定需要复制的jar文件--> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
Semua konfigurasi maven saya adalah seperti berikut:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.6 com.example docker 0.0.1-SNAPSHOT docker docker 11 true true org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test <!--docker-maven-plugin插件打包--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--镜像名称--> <imageName>${project.artifactId}</imageName> <!--指定标签--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--基础镜像jdk1.8--> <baseImage>java</baseImage> <!--制作者提供本人信息--> <maintainer>ninesun@qq.com</maintainer> <!--切换到Root目录--> <workdir>/ROOT</workdir> <cmd>["java", "-version"]</cmd> <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint> <!--指定DockerFile路径--> <!-- <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>--> <!--指定远程docker api地址--> <dockerHost>http://192.168.1.2:2375</dockerHost> <!-- 这里是复制 jar 包到 docker 容器指定目录配置 --> <resources> <resource> <targetPath>/ROOT</targetPath> <!--用于指定需要复制的根目录--> <directory>${project.build.directory}</directory> <!--用于指定需要复制的jar文件--> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> org.springframework.boot spring-boot-maven-plugin
Nota: Selepas kami berjaya menarik pemalam, kami akan mendapati bahawa struktur direktori menjadi seperti berikut:
Kami perlu memadamkan kelas permulaan, jika tidak pembungkusan akan gagal. Saya memadamkan DockerApplication secara langsung
imej binaan 5.2
Sebelum membina imej, kami perlu membungkus projek dahulu Operasi
Masukkan direktori projek kami melalui cmd
Laksanakan
mvn docker:build
Mesej berikut muncul Menunjukkan pembungkusan yang berjaya
Seterusnya, kembali kepada idea kami dan anda boleh melihat bahawa
Ini adalah apa yang telah kami bungkus Mirror
laksanakan
docker images
pada pelayan dan anda juga boleh melihat maklumat cermin
5.3 Mulakan cermin
pada pelayan kami Laksanakan dalam
docker run -d --name idea-docker-test -p 8089:8080 docker
Nota: The sebab saya mendedahkan port 8089 adalah kerana konflik dengan 8080. Cuma tukar mengikut situasi anda sendiri
Terima Mari lawati antara muka ujian yang kami tulis:
Anda dapat melihat bahawa ia telah digunakan dengan jayanya dan ia juga boleh diakses dengan jayanya
Kita dapat melihat bahawa ia juga boleh boleh dilihat dalam Idea Mari kita ke imej yang baru kita mulakan dengan jayanya dan output log
Atas ialah kandungan terperinci Bagaimanakah idea membungkus dan menggunakan projek SpringBoot dengan cepat ke dalam imej Docker?. 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.

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.

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)

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

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

Kaedah untuk melihat log Docker termasuk: Menggunakan arahan Log Docker, contohnya: Log Docker Container_Name Gunakan arahan docker exec untuk menjalankan /bin /sh dan lihat fail log, contohnya: docker exec -it container_name /bin /sh; Cat /var/log/container_name.log Gunakan arahan log docker-compose compose, contohnya: docker-compose -f docker-com
