我的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/容器名字 

 测试成功

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐