一、前言
本文是讲述的是怎么样定义Dockerfile,然后在Docker中部署springboot项目。由于只是为了学习docker容器部署。因此本文基于的镜像只是基于单纯的java 8(由于官网弃用了 java 改成了 “operJDK”,镜像是 from xxx,文章中有截图展示)。大家可以根据自身的情况去拉取(添加)不同的镜像,比如MySQL xx版本、Tomcat xx 版本、Nginx xx版本、Redis xx 版本等集成环境。
如果想要集成其它环境,可以参考以下文章:
Java——Linux使用Docker部署若依前后端分离版【保姆级教程】
可参考的文章二
可参考的文章三
二、项目打包上传
1. 项目打包简单 (故省略)
2. 上传jar包程序到Linux
创建一个文件夹用来存放上传的jar包程序(位置随意 名字随意 存放java程序)
在这里我是 cd /usr/local 下,创建了一个 my_docker的文件目录
下图所示,我是使用的finalshell 进行直接拖动上传的。
三、拉取镜像
1. 拉取镜像java:8(jdk1.8)
docker pull java:8
2. 拉取 java8 出错:
Error response from daemon: manifest for java:8-jdk not found: manifest unknown: manifest unknown
查询java镜像 docker search java
3. 解决方法
官方明确说了 java镜像已经弃用,请使用
openjdk
Dockerfile 更改为FROM openjdk
完美解决
java DEPRECATED; use “openjdk” (or other JDK impl
四、创建Dockerfile文件
Dockerfile文件编写规则:
1、指令大小写不敏感,为了区分习惯上用大写
2、Dockerfile 非注释行第一行必须是 FROM
3、文件名必须是 Dockerfile
4、Dockerfile 指定一个专门的目录为工作空间
5、所有引入映射的文件必须在这个工作空间目录下
6、Dockerfile 工作空间目录下支持隐藏文件(.dockeringore)
7、(.dockeringore)作用是用于存放不需要打包导入镜像的文件,根目录就是工作空间目录
8、每一条指令都会生成一个镜像层,镜像层多了执行效率就慢,能写成一条指定的就写成一条。
1. 创建Dockerfile文件
先 cd my_docker
进入后my_docker目录下,再执行下面命令创建一个Dockerfile的文件
touch Dockerfile
注意:这里不要使用mkdir创建文件
2. 编辑Dockerfile
vim Dockerfile
添加以下内容
FROM openjdk
MAINTAINER yjw <yjw@163.com>
ADD person-admin.jar my.