Dockerfile文件记录(用于后端项目部署)


本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记。

注:基于linux操作系统(敏感信息都进行了处理)

此文结合另一篇博客共同构成后端服务部署的教程,特此记录,并不详细解析Dockerfile的作用以及内部指令的详细解析,个人理解约定大于配置,学习docker或者nginx等等这些工具都只是在学习创造他们的人当初对工具进行的约定,比如我约定ENTRYPOINT关键字为Dockerfile中对于镜像来说的入口命令,约定Dockerfile为构建镜像时所需的文件,等等。

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
ARG PROFILE
ENV SPRING_PROFILE=$PROFILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom ","-jar","/app.jar","--spring.profiles.active=${SPRING_PROFILE}"]

以上内容大意为:先获取基础镜像,将宿主机的/tmp目录挂载到镜像中,然后获取执行build命令时的参数,有两个参数,JAR_FILE是jar包在宿主机的目录,PROFILE是选择使用哪一个配置文件(不同环境使用不通的配置文件),具体执行命令可以参考我另一篇文章,这里不再赘述。然后将jar包拷贝到镜像中,最后定义了容器运行时所要执行的命令。

(2019.11.25日增加)注意:每次想要重新部署后端接口时,原先我的做法依次是停止容器、删除容器、删除镜像、上传新的jar包、重新构建镜像和容器。这样的方法非常耗时,所以我在执行docker run的时候将我上传的jar包挂载在了容器内部,这样每次只需要上传新的jar包(删除原来的jar包),并重启容器即可,启动容器的命令为: docker run -d -p 7002:7002 -v /opt/app.jar:app.jar --name qboshi_server qboshi_server

Dockerfile文件记录(用于后端项目部署)的更多相关文章

  1. Dockerfile + Nginx.conf文件记录(用于前端项目部署)

    Dockerfile + Nginx.conf文件记录(用于前端项目部署) 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理),默认服 ...

  2. Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡

    数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...

  3. 学习VirtualEnv和Nginx+uwsgi用于django项目部署

    以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...

  4. vue+django前后端项目部署

    一.python3的安装 1.安装python前的库环境: yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel ...

  5. jsp文件引入js文件的方式(项目部署于web容器中)

    在页面中引入javascript文件的方式是多种多样的,本文介绍两种. 通过<script>标签插入js文件 通过这种方式引入的js,写对js文件和jsp文件的路径很重要.下面给出一个项目 ...

  6. LNMP环境+ 前后端项目部署+redis+redis扩展

    LNMP 环境    (参照https://lnmp.org/install.html) wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz & ...

  7. 庐山真面目之八微服务架构 NetCore 基于 Dockerfile 文件部署

    庐山真面目之八微服务架构 NetCore 基于 Dockerfile 文件部署 一.简介      从今天开始,不出意外的话,以后所写的文章中所介绍项目的部署环境都应该会迁移到Linux环境上,而且是 ...

  8. Web项目部署指南

    Web项目部署指南 本文记录了部署Vue项目到阿里云服务器上的过程,其中云服务器的操作系统是CentOS 7,Web服务器用的是nginx.因为项目涉及发送异步请求,而由Flask编写的后端应用监听的 ...

  9. Maven Web项目部署到Tomcat下问题

    但是也遇到了很多问题,下面记录一下Web项目部署到Tomcat下的问题 1.普通的WEB项目,就是虽然是用maven搭建的,但是没有使用profiles.xml文件来配置参数.这样的项目可以通过以下的 ...

随机推荐

  1. Android Studio(九):引用jar及so文件

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  2. POJ3080 Blue Jeans 题解 KMP算法

    题目链接:http://poj.org/problem?id=3080 题目大意:给你N个长度为60的字符串(N<=10),求他们的最长公共子串(长度>=3). 题目分析:KMP字符串匹配 ...

  3. Hibernate懒加载导致json数据对象传输异常的问题---(非常重要)

    1. 异常: [console_demo][WARN] [2016-12-15 19:49:35] org.springframework.web.servlet.mvc.support.Defaul ...

  4. python组件之wtforms

    简介 帮助我们在HTML中快速生成form标签,同时还可以对用户提交的form请求的数据进行验证. 安装 pip3 install wtforms 使用 创建对象:构建form标签 class Log ...

  5. Python--day47--mysql执行计划

    1,什么是mysql执行计划? 让mysql预估执行操作:在要执行的语句前面加explain,就不会真的执行sql语句,只是给出了要执行的数据的情况,如大约有多少条,查询类型.

  6. C# 强转会不会抛出异常

    最近遇到一个小伙伴问我,从一个很大的数强转,会不会抛出异常.实际上不会出现异常 最简单的代码是使用一个比 maxvalue 大的数,然后用它强转 long tathkDucmmsc = int.Max ...

  7. 2019-1-4-win10-uwp-win2d-CanvasVirtualControl-与-CanvasAnimatedControl

    title author date CreateTime categories win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl ...

  8. H3C 入站包过滤工作流程

  9. Java发送邮件Demo

    就是个Demo,有使用Spring的东西 package xxxxxxx.common.utils; import org.springframework.mail.javamail.JavaMail ...

  10. H3C 示例:计算子网地址