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...

相关推荐
晚霞的不甘20 小时前
Flutter for OpenHarmony《智慧字典》 App 主页深度优化解析:从视觉动效到交互体验的全面升级
前端·flutter·microsoft·前端框架·交互
我是伪码农20 小时前
Vue 1.28
前端·javascript·vue.js
是火云哦20 小时前
打包你的开发环境:Docker 从入门到上瘾
运维·docker·容器
鹓于20 小时前
Excel一键生成炫彩二维码
开发语言·前端·javascript
siwangdexie_new20 小时前
html格式字符串转word文档,前端插件( html-docx-js )遇到兼容问题的解决过程
前端·javascript·html
小明_GLC20 小时前
关于租用阿里云服务器拉取Docker镜像的问题
docker
2601_9496130220 小时前
flutter_for_openharmony家庭药箱管理app实战+用药提醒列表实现
服务器·前端·flutter
利刃大大20 小时前
【Vue】scoped作用 && 父子组件通信 && props && emit
前端·javascript·vue.js
今晚打佬虎20 小时前
精准阻断 Docker 容器映射端口:流量路径诊断与 iptables 配置
运维·docker·容器
那年一路北20 小时前
基于 Maven + Docker 的 WebApp 打包与部署
docker·maven·web app