Linux部署之Docker方式部署项目
时间:2022-07-26
本文章向大家介绍Linux部署之Docker方式部署项目,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 使用Docke
r对前端vue
项目进行部署
1.1 环境准备
服务器或者虚拟机上先安装好Nginx
和相关配置
-
docker pull nginx
拉去最新版本的nginx
- 运行
nginx
,docker run --name=mynginx -d -p 8080:80 nginx
- 然后在服务器安全组或者是防火墙里面开发80端口,在浏览器上输入
ip:8080
,如果出现这个画面标识nginx
安装成功
1.2 Vue项目准备
- 打包vue项目通过指定
npm run build
打包项目生成dist文件夹 - 在项目的根目录创建文件
Dockerfile
没有文件后缀,文件配置内容如下
# 设置基础镜像,这里使用的是最新版的nginx 步骤1 已经安装了最新的版本
FROOM nginx
# 定义作者名称
MAINTAINER xiongchao
# 将dist文件夹复制到 /usr/share/nginx/html/ 这个目录下面
COPY dist/ /usr/share/nginx/html/
- 上传文件,在服务器上指定的位置创建文件夹(方便自己部署),并将dist文件夹和Dockerfile文件上传值改目录
- 构建镜像
docker build -t myvueproject .
- 通过
docker images
的方式即可查看 ,改镜像是否构建成功 - 启动镜像
docker run --name=dockervue -d -p 8001:8080 myvueproject
- 通过
ip:8001
的方式进行访问,即可看到项目部署成功
2. 使用Dockerfile
为springboot
应用构建docker
镜像
2.1 Docker
常用的指令说明
ADD
用于复制文件
ADD <src> <dest>
# 实例 将当前目录下的test.jar 复制到docker 容器/目录下面
ADD test.jar /test.jar
ENTRYPOINT
指定docker
启动的命令
ENTRYPOINT ["executable", "param","param1"]
#示例
ENTRYPOINT ["java","-jar","/test.jar"]
ENV
用于设置环境变量 ,格式如下
ENV <key> <value>
# 示例
ENV MYSQL_ROOT_PASSWORD root
EXPOSE
声明暴露的端口
EXPOSE <port> <port2>
#示例
EXPOSE 8080
FROM
指定所需依赖的基础镜像
FROM <image>:<tag>
# 示例
FROM java:8
MAINTAINER
指定维护者的名字
MAINTAINER <name>
#示例
MAINTAINER xiongc
RUN
在容器构建过程中执行的命令, 比如安装其他相关依赖或者是环境所需
RUN <command>
# 示例
RUN bash -c 'touch /test.jar'
2.2 详细配置文件和说明
FROM java:8
ADD test.jar /test.jar
RUN bash -c 'touch /test.jar'
EXPOSE 8080
ENTRYPOINT ['java','-jar','/test.jar']
MAINTAINER xiongchao
2.3 开始构建
- 将打包的
jar
和dockerfile
上传至服务器的指定路径 - 构建镜像 # 指定仓库名称/镜像标签 . 标识使用当前目录下的dockerfile文件
docker build -t javaproject/javaproject .
- 启动项目docke
run --name=tomcatA01 -d -p 8002:8080 javaproject
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python 的topk算法实例
- android使用viewpager计算偏移量实现选项卡功能
- Android画板开发之撤销反撤销功能
- Android实现复制Assets文件到SD卡
- Android画板开发之添加背景和保存画板内容为图片
- 直播插件体系设计
- linux 下selenium chrome使用详解
- WeTest:五年沉淀,打造游戏品质的坚实后盾
- ES5新增方法
- 筛选商品案例
- volatile关键字在Android中到底有什么用?
- Python无头爬虫下载文件的实现
- Python基于stuck实现scoket文件传输
- Python %r和%s区别代码实例解析
- Python基础类继承重写实现原理解析