docker镜像打jar包教程
1、在每个服务(文件夹)下的pom加入:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.11.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
注意:公共服务common(文件夹)里无SpringBoot启动类,不能加上面<build>,否则报错。
2、修改bootstrap.yml配置里的ip、端口为nacos里的ip、端口:
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.2.24:8848
3、右侧maven主文件夹:
点击package或install,每个服务都会生成target;
注意:要出现这两个文件
4、在每个服务下新建个文件:DockerFile,可自定义,但要与后面shell命令对应。
#父镜像
FROM cytomine/java8
#把jar放到镜像文件中
ADD finance-common-finance06-1.0.0.jar /home/finance-common-finance06-1.0.0.jar
#工作目录
WORKDIR /home/
#入口
ENTRYPOINT ["java","-jar","finance-common-finance06-1.0.0.jar"]
5、在虚拟机里,home文件夹下创建对应的文件夹:
里面存放两个文件,从电脑文件夹里拖进去:
-
DockerFile
-
jar包
进入到要操作的文件夹,输入:
docker build -f DockerFile -t uums-web:1.0.0 .
注意:最后有个点,并且前面有个空格。
-
DockerFile 对应之前在idea里创建的DockerFile文件,也就是此文件夹下的DockerFile;
-
uums-web 自定义,是在Docker镜像里的服务名。
4、启动,输入以下命令:
docker run -it -p 8010:8010 --name=uums-web uums-web:1.0.0 /bin/bash
- 8010 是在idea里的端口;
- name=uums-web中的uums-web 是自定义,代表启动的名字;
- uums-web:1.0.0 对应上面设置的uums-web:1.0.0
启动界面和idea里的一样。