docker部署vue项目

前几天折腾vue项目部署,这里记录下操作流程,方便后续自己使用参考。

处理nodejs版本导致报错

shell 复制代码
export NODE_OPTIONS=--openssl-legacy-provider

docker 部署Vue项目

  • 1、安装nginx
shell 复制代码
docker pull nginx
  • 2、配置default.conf
shell 复制代码
# 第一版
server {
 listen  80;
 server_name localhost;

 #charset koi8-r;
 access_log /var/log/nginx/host.access.log main;
 error_log /var/log/nginx/error.log error;

 location / {
  root /usr/share/nginx/html;
  index index.html index.htm;
 }

 #error_page 404    /404.html;

 # redirect server error pages to the static page /50x.html
 #
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html;
 }
}
  • 3、编写Dockerfile文件,并基于该文件创建镜像
shell 复制代码
# 设置基础镜像
FROM nginx

# 将dist文件中所有的内容复制到  /usr/share/nginx/html/目录下
COPY dist/ /usr/share/nginx/html/

# 用本地的default.conf 配置来替换nginx默认的配置
COPY nginx/default.conf /etc/nginx/conf.d/default.conf

基于Dockerfile创建镜像

shell 复制代码
# .代表当前路径
docker build -t 镜像名称 .

创建完成之后,可以使用docker image ls 查看镜像

  • 4、基于镜像启动容器
shell 复制代码
docker run -p 4001:80 -d --name 容器名称  镜像名称

docker run 表示docker运行一个软件,也就是在指定的镜像上创建一个新容器,可以通过--name指定容器名称。 -p 4001:80 表示端口的暴露,端口4001暴露在容器的80端口/宿主机的4001端口映射到容器的80端口 -d 表示在后台运行 --name xxx 表示给这个容器命名 democontainer是起的容器名称 demonginx是刚才创建的镜像名称。

查看所有容器

shell 复制代码
docker ps -a

查看当前在运行的容器

shell 复制代码
docker ps
  • 5、访问端口查看Vue项目

直接访问上面的端口4001即可 localhost:4001

参考自:

blog.csdn.net/m0_52043522...

相关推荐
牧羊狼的狼32 分钟前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
知识分享小能手2 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
魔云连洲2 小时前
深入解析:Vue与React的异步批处理更新机制
前端·vue.js·react.js
mCell3 小时前
JavaScript 的多线程能力:Worker
前端·javascript·浏览器
超级无敌攻城狮4 小时前
3 分钟学会!波浪文字动画超详细教程,从 0 到 1 实现「思考中 / 加载中」高级效果
前端
excel5 小时前
用 TensorFlow.js Node 实现猫图像识别(教学版逐步分解)
前端
gnip5 小时前
JavaScript事件流
前端·javascript
赵得C5 小时前
【前端技巧】Element Table 列标题如何优雅添加 Tooltip 提示?
前端·elementui·vue·table组件
wow_DG6 小时前
【Vue2 ✨】Vue2 入门之旅 · 进阶篇(一):响应式原理
前端·javascript·vue.js
weixin_456904276 小时前
UserManagement.vue和Profile.vue详细解释
前端·javascript·vue.js