使用docker-compose部署springboot jar包

我的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.12.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.wuwei</groupId>
	<artifactId>ElasticsearchDemo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>ElasticsearchDemo</name>
	<description>ElasticsearchDemo</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<packaging>jar</packaging>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>
	</dependencies>

	<build>
		<!--自定义打包文件名-->
		<finalName>es-0.0.1-SNAPSHOT</finalName>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<fork>true</fork>
					<!--启动类路径-->
					<mainClass>com.wuwei.elasticsearchdemo.ElasticsearchDemoApplication</mainClass>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>

application:

 controller:

 dockerfile:

java:8好像拉去不了,使用 openjdk:8-jdk-alpine,或者自己去官网找别的镜像

# 拉取jdk8作为基础镜像
FROM openjdk:8-jdk-alpine
# 维护者信息 添加信息
MAINTAINER wuwei <lrr20030112@outlook.com>
#同步Docker项目时间
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#jar名称(如果Dockerfile与jar包存放为同级可直接写jar名称 反之则可使用相对路径或绝对路径来获取jar包)
ADD es-0.0.1-SNAPSHOT.jar es.jar
# 镜像启动后暴露的端口
EXPOSE 9999
# 启动命令(注意,这里一定要用ENTRYPOINT,不能用CMD)
ENTRYPOINT ["java", "-jar","-Xms512m","-Xmx512m","es.jar"]

docker-compose文件:

version: '3.1'
services:
  es: #服务名
    image: es
    container_name: es # 容器名
    build: . #构建Dockerfile镜像,“.”Dockerfile所在目录(. 表示同级目录下)
    restart: always  # 重启机制
    network_mode: host # 设置网络模式为host模式
    privileged: true # 设置容器权限为root
    ports: 
      - "9999:9999" # 端口 注意:前面的端口随便你写什么,后面的内部端口要跟你的dockerfile、springboot一样
    volumes: # 挂载
      - /data/dockerdata/java/logs/:/usr/local/app/java/logs

注意格式:

Maven打包上传至你的服务器:

 我的目录:

上传之后再你docker-compose所在目录执行:

#-d 后台运行不显示日志
#-f 后面指定文件名;如果你是docker-compose.yml名字可以直接docker-compose up -d
 docker-compose -f docker-compose-es.yml up -d

#查看容器
docker ps 
#查看指定容器实时日志
#docker -f logs 9758f6eb5a7或者es
docker -f logs 容器id/容器名字 

 测试成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用docker-compose部署包含MySQL的Spring Boot项目,您可以按照以下步骤创建要连接的数据库和表: 1. 创建一个docker-compose.yml文件,并在其中定义您的服务。以下是一个示例: ```yaml version: '3' services: mysql: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: your_root_password MYSQL_DATABASE: your_database_name MYSQL_USER: your_username MYSQL_PASSWORD: your_password volumes: - ./mysql-data:/var/lib/mysql app: build: . depends_on: - mysql ports: - 8080:8080 environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/your_database_name?useSSL=false SPRING_DATASOURCE_USERNAME: your_username SPRING_DATASOURCE_PASSWORD: your_password ``` 在上面的示例中,我们定义了两个服务:mysql和app。mysql服务使用了mysql:latest镜像,并设置了环境变量来配置MySQL的根密码、数据库名称、用户名和密码。此外,我们还将MySQL的数据目录映射到了本地的mysql-data目录。 app服务是您的Spring Boot应用程序服务。它依赖于mysql服务,并将应用程序的端口映射到主机的8080端口。还设置了Spring Boot应用程序的数据源URL、用户名和密码,以便连接到MySQL容器。 2. 在与docker-compose.yml文件相同的目录中,创建一个Dockerfile文件来构建您的Spring Boot应用程序镜像。以下是一个示例: ```Dockerfile FROM openjdk:8-jdk-alpine COPY target/your-app.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 在上面的示例中,我们使用了openjdk:8-jdk-alpine作为基础镜像,并将应用程序的JAR文件复制到了容器内的app.jar路径。然后,我们使用ENTRYPOINT指令来指定容器启动时运行的命令。 3. 使用以下命令构建和启动容器: ```bash docker-compose up --build ``` 这将使用docker-compose.yml文件中定义的配置构建和启动容器。MySQL容器将创建并运行,并且您的Spring Boot应用程序将在app容器中构建和启动。 4. 一旦容器启动,您可以通过访问http://localhost:8080来访问您的Spring Boot应用程序。您可以使用应用程序中定义的API来创建数据库和表。 请注意,上述示例是一个起点,您可以根据您的具体需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值