在学习编程的时候,我们都会想,该怎么把自己写出来的项目和创意分享给大家勒。直接给代码吗?平常人看不懂,环境还需要一大堆。
那么部署到服务器上,让人能够直接访问,我想这应该是最棒的方式了吧。
使用Docker 的话,那么就是让这个方便变得更加的便捷啦。
来源:
说唱新时代 鱼翅Fin《我是我最后的目击者》
一、前言
我写这个博客前已经将我需要的mysql、redis等等都安装好了。安装redis的博客、我之前也写啦的。
在这里只讲怎么将项目放到服务器上的docker上去跑,环境还是需要自己搭建的。
项目中用到什么,就要在docker中安装什么。
本人项目环境:
jdk11 、mysql 5.7、redis
项目结构
如果想要idea 中dockerfile 文件高亮的话,在idea下载一下docker插件
二、具体步骤:
1、打成jar包
1、将运行的项目使用maven打成jar包,率先放在本地测试,看有没有问题。
我这个是一个springboot项目 点击maven的打包之后 ,就会生成一个jar 包
然后在命令行编译它。
自己然后再在浏览器内进行测试。看是否可以运行。
成功的话,接下来就开始写Dockerfile文件。
2、Dockerfile文件内容
我用的是jdk11
FROM openjdk:11 # FROM: 基础镜像,基于jdk8镜像开始
COPY *.jar /app.jar # COPY: 将应用的配置文件也拷贝到镜像中。
CMD ["--server.port=8080"]
EXPOSE 8080 # EXPOSE:声明端口
ENTRYPOINT ["java","-jar","/app.jar"]
# ENTRYPOINT:docker启动时,运行的命令,这里容器启动时直接运行jar服务。
3、上传
上传jar包和dockerfile文件到服务器上去。
4、打包成docker镜像
我一开始的话 已经在服务器上把文件夹建好了…
就直接去这个文件下查看文件就好拉。
查看无误后 用docker的打包命令 将这两个一起打包成一个镜像。 必须这两个东西都在一个文件下,才可以。
docker build -t news_school_web1 .
注: 先将最重要的, 最后是有一个小数点的,千万不要忘了。
- docker bulid 是打包命令
-t
− 给镜像加一个Tag- 后面跟的 news_school_web1 就是为这个镜像取的名字
.
小数点表示当前目录,即Dockerfile所在目录
成功的话 应该是这样子的
当然这样是不够的,我们输入命令去查看一下。 看有没有这个镜像。
docker images
5、启动镜像
docker run -d -p 8686:8686 --name news_web_test news_school_web1
- -d 是后台运行
- -p 8686:8686 是端口映射
- –name 取名字
- 最后跟的 news_school_web1 是我打包好的镜像名称。
查看
6、测试
-
先在服务器测试 成功返回我的页面
-
接着在外网测试
http://IP地址:8686/login
我用的是post测试,成功返回自己的数据,就代表已经成功在运行拉。
日常自言自语
想着这一次将过程好好记录下来,在能够帮助到自己的同时,再帮助到其他人。😊
下一篇部署前端的已经在着手准备了,只是还没写完。