我的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/容器名字
测试成功