中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

延安免費做網(wǎng)站怎么創(chuàng)作自己的網(wǎng)站

延安免費做網(wǎng)站,怎么創(chuàng)作自己的網(wǎng)站,大連做網(wǎng)站比較好的公司,網(wǎng)站怎么推廣出去前述: 本篇教程將略過很多docker下載環(huán)境配置的基礎(chǔ)步驟,如果您對docker不太熟悉請參考我的上一個教程:SpringBoot新手快速入門系列教程九:基于docker容器,部署一個簡單的項目 使用 Docker Compose 支持部署 Docker 項…

前述:

?本篇教程將略過很多docker下載環(huán)境配置的基礎(chǔ)步驟,如果您對docker不太熟悉請參考我的上一個教程:SpringBoot新手快速入門系列教程九:基于docker容器,部署一個簡單的項目

使用 Docker Compose 支持部署 Docker 項目有許多優(yōu)勢,

對比:使用 Docker 和 Docker Compose

功能DockerDocker Compose
單一容器管理良好,使用 Dockerfile 和 docker run良好,但通常用于多容器管理
多容器管理較繁瑣,需要手動管理各個容器優(yōu)秀,使用 docker-compose.yml 文件
服務(wù)依賴管理手動設(shè)置依賴關(guān)系和啟動順序自動管理依賴關(guān)系和啟動順序
配置和環(huán)境管理使用環(huán)境變量和配置文件使用環(huán)境變量和配置文件,統(tǒng)一管理
擴(kuò)展和縮放手動擴(kuò)展,使用 docker run簡單擴(kuò)展,使用 docker-compose up --scale

另外對于分布式的 Spring Boot 應(yīng)用,建議使用 Docker Compose 來管理多個服務(wù)。雖然僅使用 Docker 也可以實現(xiàn),但 Docker Compose 提供了更多的便利性和簡化操作,特別是當(dāng)涉及到多個相互依賴的服務(wù)時。以下是原因及如何使用 Docker Compose 來構(gòu)建分布式 Spring Boot 應(yīng)用的詳細(xì)步驟:

使用 Docker Compose 的優(yōu)勢

  1. 簡化多容器管理:通過一個簡單的 docker-compose.yml 文件定義所有服務(wù),使用一個命令即可啟動或停止整個應(yīng)用。
  2. 服務(wù)依賴管理:可以定義服務(wù)之間的依賴關(guān)系,確保按順序啟動。
  3. 統(tǒng)一網(wǎng)絡(luò)管理:所有服務(wù)自動加入同一個網(wǎng)絡(luò),方便服務(wù)之間的通信。
  4. 環(huán)境變量和配置管理:可以在 docker-compose.yml 文件中統(tǒng)一管理環(huán)境變量和配置。
  5. 易于擴(kuò)展和縮放:可以簡單地通過調(diào)整 docker-compose.yml 文件擴(kuò)展服務(wù)實例數(shù)量。

步驟一:新建基于Docker Compose的項目

選擇依賴

步驟二:代碼示例

1. 創(chuàng)建實體類

src/main/java/com/yuye/www/hellodockeradv/entity 目錄下創(chuàng)建 User.java 文件:

package com.yuye.www.hellodockeradv.entity;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;@Entity
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;// Getters and Setterspublic Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

2,創(chuàng)建Repository接口

src/main/java/com/yuye/www/hellodockeradv/repository 目錄下創(chuàng)建 UserRepository.java 文件:

package com.yuye.www.hellodockeradv.repository;import com.yuye.www.hellodockeradv.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;import java.util.Optional;public interface UserRepository extends JpaRepository<User, Long> {Optional<User> findByName(String name);boolean existsByName(String name);
}

3,創(chuàng)建Controller

src/main/java/com/yuye/www/hellodockeradv/controller 目錄下創(chuàng)建 UserController.java 文件:

package com.yuye.www.hellodockeradv.controller;import com.yuye.www.hellodockeradv.entity.User;
import com.yuye.www.hellodockeradv.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.Optional;@RestController
public class UserController {@Autowiredprivate UserRepository userRepository;@GetMapping("/register")public String registerUser(@RequestParam String name) {// Check if a user with the same name already existsif (userRepository.existsByName(name)) {return "User already exists";}// If user doesn't exist, create a new user and save to the databaseUser user = new User();user.setName(name);userRepository.save(user);return "User registered successfully";}@GetMapping("/login")public String loginUser(@RequestParam String name) {Optional<User> user = userRepository.findByName(name);if (user.isPresent()) {return "User found: " + name;} else {return "User not found";}}
}

4. 配置 application.properties 文件

src/main/resources/application.properties 文件中添加MySQL數(shù)據(jù)庫連接配置

spring.application.name=HelloDockerAdv
spring.datasource.url=jdbc:mysql://localhost:3306/userdata?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=Qwerty123
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialectserver.port=8081

5. 創(chuàng)建 Dockerfile

在項目根目錄下創(chuàng)建一個 Dockerfile 文件:

# 使用官方的OpenJDK鏡像作為基礎(chǔ)鏡像
FROM openjdk:17-jdk-slim# 添加一個環(huán)境變量來指示Spring Boot使用哪個端口
ENV SERVER_PORT=8080# 將jar包添加到容器中
COPY build/libs/HelloDockerAdv-0.0.1-SNAPSHOT.jar app.jar# 暴露應(yīng)用程序的端口
EXPOSE 8080# 運行jar包
ENTRYPOINT ["java", "-jar", "/app.jar"]

6. 創(chuàng)建 docker-compose.yml 文件

在項目根目錄下創(chuàng)建一個 docker-compose.yml 文件:

version: '3.8'
services:app:image: hellodockeradvbuild:context: .dockerfile: Dockerfileports:- "8080:8080"depends_on:- mysqlenvironment:SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/demoSPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: yourpasswordmysql:image: mysql:8.0environment:MYSQL_ROOT_PASSWORD: yourpasswordMYSQL_DATABASE: demoports:- "3306:3306"volumes:- mysql-data:/var/lib/mysqlvolumes:mysql-data:

7. 構(gòu)建和運行Docker容器

確定你的mysql數(shù)據(jù)庫有一個

userdata

和一個user的表

然后啟動mysql后

在項目根目錄下運行以下命令:

# 構(gòu)建Spring Boot應(yīng)用程序
./gradlew build# 啟動Docker Compose,構(gòu)建并運行所有服務(wù)
docker-compose up --build

http://m.risenshineclean.com/news/65563.html

相關(guān)文章:

  • 設(shè)計師培訓(xùn)學(xué)費長春seo優(yōu)化企業(yè)網(wǎng)絡(luò)躍升
  • 水墨畫風(fēng)格網(wǎng)站網(wǎng)站快速排名互點軟件
  • 做兼職最好的網(wǎng)站杭州百度推廣開戶
  • 5g網(wǎng)絡(luò)快手seo關(guān)鍵詞優(yōu)化
  • 太原網(wǎng)站建設(shè)王道下拉惠整站seo排名要多少錢
  • 修水今日疫情長沙官網(wǎng)seo
  • 東莞微聯(lián)建站網(wǎng)絡(luò)營銷教學(xué)網(wǎng)站
  • 廣告網(wǎng)站設(shè)計公司好嗎做免費推廣的平臺
  • 做網(wǎng)站簡單嗎seo推廣公司招商
  • 嘉興推廣公司seo百度快速排名
  • 設(shè)計師逛的網(wǎng)站購物網(wǎng)站
  • 網(wǎng)絡(luò)運營一個月工資廣州網(wǎng)站快速排名優(yōu)化
  • 網(wǎng)站應(yīng)包括的基本功能和高級功能衡陽百度推廣
  • 做招聘和求職都需要哪些網(wǎng)站站長統(tǒng)計是什么意思
  • 成都網(wǎng)站建設(shè)公司盈利嗎品牌宣傳策略
  • 汕頭網(wǎng)站建設(shè)制作方案百度網(wǎng)站打開
  • 用c 做網(wǎng)站和數(shù)據(jù)庫方法百度快速優(yōu)化排名軟件
  • 網(wǎng)站后臺信息維護(hù)要怎么做網(wǎng)站模板平臺資源
  • 淘寶聯(lián)盟合作網(wǎng)站api廣告推廣方式
  • 官方建網(wǎng)站有哪些步驟高清的網(wǎng)站制作
  • 茶葉網(wǎng)站開發(fā)seo網(wǎng)絡(luò)培訓(xùn)機(jī)構(gòu)
  • 多余菜單刪掉wordpress哈爾濱推廣優(yōu)化公司
  • 3d網(wǎng)站帶后臺下載河南今日重大新聞
  • 小公司做網(wǎng)站賺錢seo資訊網(wǎng)
  • 手表商城網(wǎng)站建設(shè)方案太原百度關(guān)鍵詞排名
  • 受歡迎的建網(wǎng)站公司千萬不要去電商公司上班
  • 寧波外貿(mào)網(wǎng)站制作付費惡意點擊軟件
  • 網(wǎng)站集約化建設(shè)背景seo 技術(shù)優(yōu)化
  • 專業(yè)網(wǎng)站策劃 西安百度ai搜索引擎
  • 仙游有人做網(wǎng)站seo關(guān)鍵詞推廣話術(shù)