docker部署Springboot到Nacos
1. 项目打包
一般正常情况先,点击install就行了
因为我的继承了自己编写的公共父类,一直打包都是只有几kb,依赖什么的都没有打包进去
解决方法:修改pom打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>chang.ChangIdGenerateApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
成功后,把所有依赖打包进去
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
2. 修改docker配置文件
网上一大把,没有什么坑,修改后重启就行了
-
打开docker配置文件
vim /usr/lib/systemd/system/docker.service
, 在最后加这串-H tcp://0.0.0.0:2375
-
然后就是配置IDEA了
3. 编写Dockerfile
有了jar包,就可以编写Dockerfile
了
FROM openjdk:8-jre
MAINTAINER chang 1584541746@qq.com
# /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层,从而保证容器存储层的无状态化
# 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp
# 复制jar到镜像
ADD target/chang-id-generate-boot-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-Xmx128m", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
EXPOSE 4445
4. IDEA docker运行配置
设置成与主机共用网络,不然注册到nacos会ip不是主机ip