叙:上两篇分别讲了什么是Docker和Linux系统中安装Docker,这一片姑且算是实战一把吧,在Ddocker容器中部署Java项目,其实就是把jar项目打包称jar然后在Docker中部署运行一下,下面是正文;
Docker入门(三)——Docker容器部署jar包并运行
- 1、前期准备
- 2、创建并编写DdockerFile
- 3、制作镜像
- 运行镜像
- 访问启动的项目:
1、前期准备
前期准备很简单,只需要我们把jar包(必须是正常可运行的哈)上传到Linux上,一般的话我们都是把jar包上传到Docker的安装文件路径下,也就是放在了usr/bin下,不要放到其他文件夹下,否者docker找不到的,如下图所示;
2、创建并编写DdockerFile
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
创建文件命令:
简单的内容编写及其讲解:
# 镜像(等会就要使用上传的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为版本号,最后的 . 代表当前位置的上下路径,表示在当前路径下制作镜像;
运行后如下所示极为成功:
利用镜像创建并运行容器:
sudo docker run -p 9000:2021 -d --name demo demo:1.0
上面命令中注意的是:9000:2021,9000指的是Dockerfile文件中设定的暴露出的端口号,2021指的是jar包项目中的访问端口号
通过 docker ps -a 查看容器启动结果,两此操作如下所示:
访问启动的项目:
http://192.168.1.18:9000/doc.html#/home
注意,IP是服务器/虚拟机的IP,端口号是Dockerfile中配置由Docker容器暴露出来的端口号,并不是你jar代码中的端口号(在启动这个项目的容器时我已经指定了暴露出的端口号9000指向我自己的jar代码中的端口2021了),后边的访问目录的话就是你的项目接口名了;
pass:到此,docker的入门学习告一段落,后续看看深入学习的部分,如果整理出来了就会网上发哦,谢谢观看,共同努力吧!