Rumah  >  Artikel  >  Java  >  Bagaimana untuk menerbitkan projek springboot menggunakan imej docker-compose

Bagaimana untuk menerbitkan projek springboot menggunakan imej docker-compose

王林
王林ke hadapan
2023-05-11 10:13:051164semak imbas

Pengenalan

Projek Docker-Compose ialah projek sumber terbuka rasmi Docker, bertanggungjawab untuk merealisasikan orkestrasi pantas gugusan kontena Docker. Karang membenarkan pengguna mentakrifkan satu set bekas aplikasi yang berkaitan sebagai projek melalui fail templat docker-compose.yml (format YAML) yang berasingan. Projek Docker-Compose ditulis dalam Python dan memanggil API yang disediakan oleh perkhidmatan Docker untuk mengurus bekas. Oleh itu, selagi platform yang anda kendalikan menyokong API Docker, anda boleh menggunakan Karang untuk pengurusan orkestrasi.

Docker-Compose membahagikan bekas terurus kepada tiga lapisan, iaitu projek, perkhidmatan dan bekas. Semua fail dalam direktori berjalan Docker-Compose (docker-compose.yml, memanjangkan fail atau fail pembolehubah persekitaran, dll.) membentuk projek Jika tiada spesifikasi khas, nama projek ialah nama direktori semasa. Projek boleh mengandungi berbilang perkhidmatan dan setiap perkhidmatan mentakrifkan imej, parameter dan kebergantungan untuk bekas dijalankan. Perkhidmatan boleh menyertakan berbilang contoh bekas Docker-Compose tidak menyelesaikan masalah pengimbangan beban, jadi alat lain diperlukan untuk mencapai penemuan perkhidmatan dan pengimbangan beban.

Fail konfigurasi projek lalai Docker-Compose ialah docker-compose.yml Fail konfigurasi boleh disesuaikan melalui pembolehubah persekitaran COMPOSE_FILE atau parameter -f, yang mentakrifkan berbilang perkhidmatan bergantung dan operasi setiap perkhidmatan. bekas.
Menggunakan fail templat Dockerfile membolehkan pengguna mentakrifkan bekas aplikasi berasingan dengan mudah. Di tempat kerja, kita sering menghadapi situasi di mana beberapa bekas perlu bekerjasama antara satu sama lain untuk menyelesaikan tugas tertentu. Contohnya, untuk melaksanakan projek Web, sebagai tambahan kepada bekas perkhidmatan Web itu sendiri, selalunya perlu menambah bekas perkhidmatan pangkalan data belakang dan juga bekas pengimbangan beban.

Arahan biasa

docker-compose

Pengenalan

Fungsi Karang ialah untuk "mentakrif dan menjalankan aplikasi berbilang bekas Docker". Menggunakan Karang, anda boleh mengkonfigurasi perkhidmatan aplikasi anda dalam fail konfigurasi (format yaml), dan kemudian menggunakan satu arahan untuk mencipta dan memulakan semua perkhidmatan yang dirujuk dalam konfigurasi.
Dua konsep penting dalam Karang:
• Perkhidmatan: Bekas aplikasi sebenarnya boleh menyertakan beberapa contoh bekas yang menjalankan imej yang sama.
• Projek: Unit perniagaan lengkap yang terdiri daripada satu set bekas aplikasi yang berkaitan, ditakrifkan dalam fail docker-compose.yml.

Docker mengarang langkah-langkah pemasangan

Muat turun dan pasang melalui pautan GitHub Pengguna bukan ROOT ingat untuk menambah sudo

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

untuk memberikan keizinan boleh laku fail muat turun binari

sudo chmod +x /usr/local/bin/docker-compose

untuk mengesahkan Sama ada hendak memasang

docker-compose --version

Nyahpasang
Jika ia dipasang sebagai pakej binari, hanya padamkan fail binari

rm /usr/local/bin/docker-compose

Struktur direktori

compose
	docker-compose.yml
	eureka
		Dockerfile
		eureka-server-2.0.2.RELEASE.jar
	user
		Dockerfile
		user-2.0.2.RELEASE.jar
	power
		Dockerfile
		power-2.0.2.RELEASE.jar

Contoh

Karang Penggunaannya sangat mudah, anda hanya perlu menulis docker-compose.yml, dan kemudian gunakan arahan docker-compose untuk beroperasi. docker-compose.yml menerangkan konfigurasi bekas dan arahan docker-compose menerangkan pengendalian bekas.
1. Mari kita gunakan projek microservice untuk melakukan contoh mudah Mula-mula, buat direktori kerja, kemudian buat folder jenkinsTest, letakkan pakej balang boleh laku di dalamnya dan tulis fail Dockerfile.
Jenkins menyimpan pakej balang yang dimuat naik untuk ujian

Bagaimana untuk menerbitkan projek springboot menggunakan imej docker-compose

docker-compose.yml

version: '3.1'  #这里要指定docker-compose对应的docker版本
services:
  jenkinstest:             #指定服务名
    #image: jenkinstest  #指定镜像名称 小写不然会报错
    build: ./jenkinsTest   #指定Dockfile所在路径
    ports:
      - 8099:8099   #指定端口映射
    expose:
      - 8099  #对外暴露的服务端口

Fail Dockerfile

FROM adoptopenjdk/openjdk8:jdk8u-centos-nightly

#作者
MAINTAINER lkz

# 镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效
EXPOSE 8099
 
COPY jenkinsTest.jar 11.jar 
# 在镜像运行为容器后执行的命令
ENTRYPOINT ["java","-jar","11.jar"]

Mulakan mikro Untuk perkhidmatan, anda boleh menambah parameter -d untuk bermula di latar belakang

docker-compose up -d

Bagaimana untuk menerbitkan projek springboot menggunakan imej docker-compose

Gunakan Docker Compose untuk mengatur perkhidmatan mikro SpringCloud

Konfigurasi adalah sama seperti di atas
Ubah suai Fail docker-compose.yml

version: '3.3'
services:
  eureka:
    image: eureka:v1  #指定镜像名称
    build: ./eureka   #指定Dockfile所在路径
    ports:
     - 8080:8080
  user:
    image: user:v1
    build: ./user #指定Dockfile所在路径
    ports:
     - 8081:8081
  power:
    image: power:v1
    build: ./power #指定Dockfile所在路径
    ports:
     - 8082:8082

Atas ialah kandungan terperinci Bagaimana untuk menerbitkan projek springboot menggunakan imej docker-compose. 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