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文件来配置参数.这样的项目可以通过以下的 ...
随机推荐
- centos安装hdp
1. 准备6和7的 YUM源包 1.1 centos 下载后解压到同一个目录 http://mirrors.163.com/centos/6/isos/x86_64/CentOS-6.9-x86_64 ...
- css模仿ipad的日历
https://www.cnblogs.com/sandraryan/ 题外话之:最近的练习用js之类的写起来会简单点,但是为了巩固基础,只好html和css硬怼页面X﹏X 这是一个日历的代码 注释有 ...
- Linux 查看kafka版本
find /opt -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
- java 两种进程创建方式比较
A extends Thread: 简单 不能再继承其他类了(Java单继承) 同份资源不共享 A implements Runnable:(推荐) 多个线程共享一个目标资源,适合多线程处理同一份资源 ...
- [转]什么是CNN、RNN、LSTM
. 全连层 每个神经元输入: 每个神经元输出: (通过一个激活函数) 2. RNN(Recurrent Neural Network) 与传统的神经网络不通,RNN与时间有关. 3. LSTM(Lon ...
- 移动端遇到的bug (长期更新)
移动端遇到的bug border-radius和transform在一起的bug 当父级设置了border-radius+overflow:hidden的时候,圆角是可以包住子级的,这是个很常见的场景 ...
- 154th LeetCode Weekly Contest
A B D均比较简单.先说C题 K-Concatenation Maximum Sum Given an integer array arr and an integer k, modify the ...
- UVa 1354 Mobile Computing[暴力枚举]
**1354 Mobile Computing** There is a mysterious planet called Yaen, whose space is 2-dimensional. Th ...
- 2019-11-20-Github-给仓库上传-NuGet-库
title author date CreateTime categories Github 给仓库上传 NuGet 库 lindexi 2019-11-20 08:18:14 +0800 2019- ...
- Jmeter完整Demo
1:创建一个线程组 2:添加一个cookie管理器 3:设置你的信息头管理器:application/json;text/plain;charset=UTF-8 44 4:添加一个用户参数,做全局变量 ...