docker下部署java-web项目(基于springboot)

当前docker技术很受欢迎,对于快速部署来说 docker比起传统部署方式 有绝对的优势。作为一个java 后端开发人员docker技术是

必不可少的需要掌握的技能。该blog主要简单介绍一下如何使用docker部署springboot项目。 (linux环境:centos6.5,jkd1.8)

一、前提条件: 

1.可以运行jar包的环境(springboot项目推荐jdk1.8以上)
2.机器上已经安装了docker(安装过程略)
3.准备部署的springboot的jar包
4.Dockerfile文件  

二、准备Dockerfile 文件

前三条都很容准备,创建一个Dockerfile(在宿主机器任意位置)内容如下: vim Dokckerfile 

FROM java:8  
VOLUME  /usr/local
ADD  itcast-microservice-ftpuser.jar     /ftp_test.jar 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/ftp_test.jar"] 

文件解释 

1. from java:8  使用jdk8版本 (表示继承该镜像源,这在docker hub上是已经存在,本地已经pull下来的镜像)

  2.volum /usr/local   可选配置 意思是 指定了临时文件目录为/usr/local。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/usr/local

3.itcast-microservice-ftpuser.jar是使用jar包名称(打包好的jar包最好和Dokerfile文件放在同一目录下) 

4.ADD itcast-microservice-ftpuser.jarr 拷贝jar到目标容器 并改名为 ftp_test.jar 

5.ENTRYPOINT 执行jar文件 

四、生成docker镜像 

将Dockerfile和jar放在一个文件夹,使用下面命令生成镜像,注意最后的 .   docker build 最后的 . 号,其实是在指定镜像构建过程中的上下文环境的当前目录! 

扫描二维码关注公众号,回复: 8646884 查看本文章
docker build -t springboot_test . 

注意:springboot_test是最终生成的镜像名称。 

查看一下docker镜像 

docker images 

如图,可以看到已经有了一个名称为springboot_test的镜像

  

五、运行Docker容器 

代码如下 

docker run -d -p 8080:8080 springboot_test 

参数解释: 

1.-d 后台运行
2.-p 8080:8080 将docker容器的8080端口映射到宿主服务器上的8080端口上
3.springboot_test  项目名称

到这里就配置完成了,在浏览器使用:服务器ip:8080就能访问docker容器内部署的springboot项目了。

六、启动出现异常处理:

配置完 启动时出现了以下错误
 原因是iptables 里没有docker相关的chain 导致无法正常启动.

 解决方式:依次执行以下命令(另一种方式可在iptables文件里添加)

 pkill docker
 iptables -t nat -F
 ifconfig docker0 down
 brctl delbr docker0

然后重启 docker  服务: service docker  restart即可
这时 输入 iptables -L

 此时 docker  chain 创建成功   ,在看看运行的容器 docker ps

此时 项目启动成功  在浏览器输入服务器ip:8080就能访问docker容器内部署的springboot项目了。

发布了28 篇原创文章 · 获赞 3 · 访问量 1951

猜你喜欢

转载自blog.csdn.net/as4589sd/article/details/103707592