叙:上两篇分别讲了什么是Docker和Linux系统中安装Docker,这一片姑且算是实战一把吧,在Ddocker容器中部署Java项目,其实就是把jar项目打包称jar然后在Docker中部署运行一下,下面是正文;


Docker入门(三)——Docker容器部署jar包并运行

  • 1、前期准备
  • 2、创建并编写DdockerFile
  • 3、制作镜像
  • 运行镜像
  • 访问启动的项目:



1、前期准备

前期准备很简单,只需要我们把jar包(必须是正常可运行的哈)上传到Linux上,一般的话我们都是把jar包上传到Docker的安装文件路径下,也就是放在了usr/bin下,不要放到其他文件夹下,否者docker找不到的,如下图所示;
Docker入门(三)——Docker容器部署jar包并运行_Docker


2、创建并编写DdockerFile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
创建文件命令:
Docker入门(三)——Docker容器部署jar包并运行_Docker_02

简单的内容编写及其讲解:
Docker入门(三)——Docker容器部署jar包并运行_Docker_03

# 镜像(等会就要使用上传的jar包制作)的基础环境FROM java:8# 镜像维护人员的信息MAINTAINER qitonglin# 镜像的操作指令,可以随意写(只要是正常的命令)RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone# 编译镜像时将文件(demo-0.0.1-SNAPSHOT.jar)复制到镜像(demo.jar)中ADD demo-0.0.1-SNAPSHOT.jar demo.jar# 镜像所暴露出的端口(定义一个不冲突的即可),用于访问镜像使用,后边会和jar的项目端口对接EXPOSE 9000# 设置容器的入口程序,直接使用镜像名即可ENTRYPOINT ["java","-jar","demo.jar"]

以上就是DockerFile的简单设定,保存后就准备制作镜像了;


3、制作镜像

命令:

sudo docker build -t demo:1.0 .

注:demo为自己起的镜像名,1.0为版本号,最后的 . 代表当前位置的上下路径,表示在当前路径下制作镜像;

运行后如下所示极为成功:
Docker入门(三)——Docker容器部署jar包并运行_Docker_04

运行镜像

利用镜像创建并运行容器:

sudo docker run -p 9000:2021 -d --name demo demo:1.0

上面命令中注意的是:9000:2021,9000指的是Dockerfile文件中设定的暴露出的端口号,2021指的是jar包项目中的访问端口号
通过 docker ps -a 查看容器启动结果,两此操作如下所示:
Docker入门(三)——Docker容器部署jar包并运行_Docker容器_05


访问启动的项目:

http://192.168.1.18:9000/doc.html#/home

注意,IP是服务器/虚拟机的IP,端口号是Dockerfile中配置由Docker容器暴露出来的端口号,并不是你jar代码中的端口号(在启动这个项目的容器时我已经指定了暴露出的端口号9000指向我自己的jar代码中的端口2021了),后边的访问目录的话就是你的项目接口名了;
Docker入门(三)——Docker容器部署jar包并运行_Docker_06


pass:到此,docker的入门学习告一段落,后续看看深入学习的部分,如果整理出来了就会网上发哦,谢谢观看,共同努力吧!