目录
1.创建 Dockerfile 文件,写入如下内容:
FROM java:8
VOLUME /tmp
ADD febs_shiro_jwt-1.0.0-release.jar febs_shiro_jwt.jar
RUN bash -c 'touch /febs_shiro_jwt.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/febs_shiro_jwt.jar"]
参数说明:
- FROM:表示已JDK8为基础镜像制作docker镜像
- VOLUME:表示创建 /tmp 目录,并持久化到 Docker 数据文件夹。创建 /tmp 是因为SpringBoot内嵌的Tomcat容器默认使用 /tmp 作为工作目录
- ADD:将容器外的 febs_shiro_jwt-1.0.0-release.jar 拷贝到容器中,并重命名为 febs_shiro_jwt.jar
- RUN:RUN表示运行后面跟着的命令行命令,-c 表示将后面的内容作为一个字符串来统一执行,bash容器执行 -c 后面的命令,在 / 目录下创建一个 demo.jar 文件。需要注意的是,这里的 febs_shiro_jwt.jar 要和上一条ADD命令后面的 febs_shiro_jwt.jar 命名一致,表示将上一条命令添加到容器里的文件,创建在 / 目录下
- ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加 java.security.egd 的系统属性指向 /dev/urandom 作为 ENTRYPOINT
2.打包springboot项目为jar包
打包好了jar包之后,假设为 febs_shiro_jwt-1.0.0-release.jar
将febs_shiro_jwt-1.0.0-release.jar 和 Dockerfile 文件放到任意一个目录下,假设放到 /home/dockergz/myproject 目录下
3.使用docker进行镜像的制作:
docker build -t febs_shiro_jwt:latest(或者其他版本号,不加:latest默认为latest版本)
/home/dockergz/myproject
参数说明:
- build:表示制作镜像
- -t:表示给镜像打个标签,相当于 docker tag 镜像ID 新镜像名:版本号
- /home/dockergz/myproject:表示jar包和Dockerfile文件所在位置,如果是当前目录下,也可以用 . 表示
4. 通过docker images命令查看我们制作的镜像
5.运行镜像
docker run -itd --name febs_vue -p 8099:8099 -d febs_shiro_jwt
参数说明:
- docker run:表示运行容器
- –name:表示给容器起个别名叫febs_vue ,操作容器的时候可以使用别名来代替容器ID,方便容器的管理
- -p:端口映射。将容器内部的8099端口映射到宿主机的80899端口。最后 febs_shiro_jwt 是要启动的镜像
- -d:表示容器开启后台运行
6.访问网站验证
直接浏览器访问:
http://47.112.153.193:8099/login?username=leon&password=1234qwer
参考链接: