springboot+docker发布项目20220827
1、springboot打包项目
1)、application-dev.yml
对应配置修改
2)、项目package 生成包
3)、生成包
4)、运行项目包
2、springboot+dockerfile打包及发布项目
1)、application-prod.yml 发布到外网一般用application-prod
对应配置修改
2)、项目package 生成包
3)、生成包
4)、Dockerfile生成
####依赖环境
FROM openjdk:8u232-jre
##挂在数据卷
VOLUME /tmp
ADD *.jar app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar","--spring.profiles.active=prod"]
###对外端口
EXPOSE 9090
5)、Dockerfile发布到docker容器上(Idea)
i)、Idea创建DocServer ####docker服务
![](https://img2022.cnblogs.com/blog/21343/202208/21343-20220827155943677-1604100257.png)
ii)、Idea创建dockerfile
![](https://img2022.cnblogs.com/blog/21343/202208/21343-20220827160129107-939294708.png)
名称cjcms-test # dockerfile名称
Server:DocServer #docker server
Dokerfile:docker\Dokerfile #
image tags: cjcms:lastest #镜像标识
Container name:cjcms2020 #容器名称
Bind ports: 9090:9090 #映身端口
Dokerfile:docker\Dokerfile #
iii)、Idea发布dockerfile
####
名称cjcms-test # dockerfile名称
![](https://img2022.cnblogs.com/blog/21343/202208/21343-20220827160815470-1093941940.png)
发布完 生成镜像
生成容器
6)、访问项目
![](https://img2022.cnblogs.com/blog/21343/202208/21343-20220827161204768-1959040261.png)
3、docker中curl ip报错curl: (56) Recv failure: Connection reset by peer
docker中curl ip报错curl: (56) Recv failure: Connection reset by peer,宿主机无法ping(或curl)通docker容器
在创建容器的时候,容器的端口号一定要按照默认端口号填写,而主机端口号可随意填写(只要不重复),比如要创建一个tomcat容器,其容器端口号就要是8080,例如像这样 :
docker run -d -p 9090:8080 --name tomcat1 tomcat
完成后的端口内容是这样的
参考:https://www.cnblogs.com/dw3306/p/14047445.html