Dockerfile文件记录(用于后端项目部署)
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文件记录(用于后端项目部署)的更多相关文章
- Dockerfile + Nginx.conf文件记录(用于前端项目部署)
Dockerfile + Nginx.conf文件记录(用于前端项目部署) 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理),默认服 ...
- Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡
数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...
- 学习VirtualEnv和Nginx+uwsgi用于django项目部署
以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...
- vue+django前后端项目部署
一.python3的安装 1.安装python前的库环境: yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel ...
- jsp文件引入js文件的方式(项目部署于web容器中)
在页面中引入javascript文件的方式是多种多样的,本文介绍两种. 通过<script>标签插入js文件 通过这种方式引入的js,写对js文件和jsp文件的路径很重要.下面给出一个项目 ...
- LNMP环境+ 前后端项目部署+redis+redis扩展
LNMP 环境 (参照https://lnmp.org/install.html) wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz & ...
- 庐山真面目之八微服务架构 NetCore 基于 Dockerfile 文件部署
庐山真面目之八微服务架构 NetCore 基于 Dockerfile 文件部署 一.简介 从今天开始,不出意外的话,以后所写的文章中所介绍项目的部署环境都应该会迁移到Linux环境上,而且是 ...
- Web项目部署指南
Web项目部署指南 本文记录了部署Vue项目到阿里云服务器上的过程,其中云服务器的操作系统是CentOS 7,Web服务器用的是nginx.因为项目涉及发送异步请求,而由Flask编写的后端应用监听的 ...
- Maven Web项目部署到Tomcat下问题
但是也遇到了很多问题,下面记录一下Web项目部署到Tomcat下的问题 1.普通的WEB项目,就是虽然是用maven搭建的,但是没有使用profiles.xml文件来配置参数.这样的项目可以通过以下的 ...
随机推荐
- ArrayList存储基本类型时的封装类
- Python os.getcwd() 方法
Python os.getcwd() 方法 Python OS 文件/目录方法 概述 os.getcwd() 方法用于返回当前工作目录. 语法 getcwd()方法语法格式如下: os.getcwd ...
- css3鼠标移动图片上移效果
css3的功能真是很强大,学无止境,不多说,直接上代码 css部分: <style> ;;} .text-center{text-align:center} .col_cont{width ...
- H3C 帧中继基本概念
- Study in JI During the Summer Vacation
15/07/2019-21/07/2019 Task List: 1.uow homework including vocabulary and listening 2.ASL's dictation ...
- codeforces 616D
题意:给你n个数,找出一个最大的区间,满足:不同的数值个数不超过k; //我开始又看错题了. 以为是找出一个最大区间,里面的数的最大值不超过k; 思路:利用一个窗口滑动,左端点表示当前位置,右端点表示 ...
- tf.nn.embedding_lookup()的用法
函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...
- 2018-8-3-WPF-读取硬件序列号
title author date CreateTime categories WPF 读取硬件序列号 lindexi 2018-8-3 11:8:2 +0800 2018-8-2 19:28:6 + ...
- Python--day41--线程队列
1,普通队列:queue.Queue(),先进先出 import queue q = queue.Queue() #队列 先进先出 q.put(1) q.put(2) q.put(3) q.put(4 ...
- Python--day41--threading中的定时器Timer
定时器Timer:定时开启线程 代码示例: #定时开启线程 import time from threading import Timer def func(): print('时间同步') #1-3 ...