栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot项目利用Docker部署启动的方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot项目利用Docker部署启动的方式

注意:docker的安装自行百度,比较简单;准备springboot项目;

方式1 单独jar包和Dockerfile文件

a、准备springboot的jar包,比如hello-0.0.1-SNAPSHOT.jar;
b、建立一个Dockerfile文件:

FROM java:8  #必须,以该镜像为基础镜像,可更改
VOLUME /temp  #创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等
ADD hello-0.0.1-SNAPSHOT.jar /app-docker.jar  #将文件从路径添加到app-docker.jar
# RUN sh -c 'touch /app-docker.jar'
ENV JAVA_OPTS=""  #可以用于为docker容器设置环境变量
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app-docker.jar"] #ENTRYPOINT 指定 Docker image 运行成 instance (也就是 Docker container) 时,要执行的命令或者文件

备注:CMD 和 ENTRYPOINT 都能用来指定开始运行的程序,而且这两个命令都有两种不用的语法:CMD [“ls”,‘’-l"]或者CMD ls -l
c、将jar包和Dockerfile文件放在具有docker环境的任意目录下,执行构建命令:

docker build -t app-docker .

输出:Successfully…略
d、可用docker imagesml查看app-docker镜像,接着用以下命令启动:

docker run -d -p 8080:8080 --name app-docker app-docker

启动结果:63078a8e5bd6e6d7123f5d24d73818821495b0c29790473be726287d68526468 成功

方式二 Docker远程连接并且使用idea一键部署

a、配置docker远程连接端口
首先编辑我们服务器上的docker文件:

vi /usr/lib/systemd/system/docker.service

修改以ExecStart开头的行(centos 7):添加

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 

b、重启docker

systemctl daemon-reload
service docker restart

重启之后测试远程连接是否正常,这里的2375是之前配置的端口:

curl http://localhost:2375/version

c、开启端口,或者关闭防火墙,二者选其一即可

firewall-cmd --zone=public --add-port=2375/tcp --permanent  
chkconfig iptables off

d、使用idea连接到docker,下载docker插件,idea2019自带了docker插件。如果没有插件可以选择安装docker插件;
e、docker-maven-plugin 介绍
在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便。docker-maven-plugin 插件就是为了帮助我们在Maven工程中,通过简单的配置,自动生成镜像并推送到仓库中。
pom.xml:


        ${project.artifactId}
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    true
                
            
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                
                    true
                
            
            
            
                com.spotify
                docker-maven-plugin
                1.0.0
                
                
                    
                        build-image
                        
                        package
                        
                            build
                        
                    
                
                
                    
                    bruceliu/${project.artifactId}
                    
                    
                        latest
                    
                    
                    java
                    
                    bruceliu@email.com
                    
                    /ROOT
                    ["java", "-version"]
                    ["java", "-jar", "/${project.build.finalName}.jar"]
                    
                    http://127.0.0.1:2375
                    
                    
                        
                            /
                            
                            ${project.build.directory}
                            
                            ${project.build.finalName}.jar
                        
                    
                
            
        
    

f、结束

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号