网站首页 > 技术教程 正文
背景
使用Vue框架创建一个网站,掌握如何使用nginx在Docker容器中提供服务。
首先,我们将使用Vue CLI生成入门Vue应用程序,我们将这个应用命名vue-nginx-docker
npx @vue/cli create vue-nginx-docker
创建应用程序后,进入到新的应用程序文件夹
cd vue-nginx-docker
现在我们需要几个文件才能与Docker一起使用:Dockerfile和一个.dockerignore文件。
touch Dockerfile
对于我们的.dockerignore文件,请确保像忽略git一样忽略我们的依赖文件node_modules。
echo "node_modules" > .dockerignore
构建Dockerfile
这里我们通过使用Docker的多阶段multi-stage构建完成这个过程:
- 阶段1:用于构建前端资源的node镜像
- 阶段2:Nginx阶段为前端资源提供服务的
阶段1:构建前端文件
我们的第一阶段将:
- 使用node镜像
- 将我们所有的Vue文件复制到工作目录中
- 用yarn安装项目依赖项
- 用yarn构建应用程序
FROM node:10 AS builder
WORKDIR /app
COPY . .
RUN yarn install && yarn build
阶段2:准备Nginx服务
我们的第二阶段将:
- 使用Nginx镜像
- 从Nginx镜像中删除所以不需要的静态文件
- 从builder我们在第一阶段创建的容器中复制我们的静态文件
- 为我们的容器指定入口点以运行nginx
FROM nginx:alpine
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY --from=builder /app/dist .
ENTRYPOINT ["nginx", "-g", "daemon off;"]
重要的是,Vue的dist默认将静态资源构建到该文件夹中,因此我们从那里复制文件。如果您的应用由于某种原因将文件构建到另一个文件夹中,请进行相应调整。这里我们就完成整个Dockerfile的内容了:
FROM node:10 AS builder
WORKDIR /app
COPY . .
RUN yarn install && yarn build
FROM nginx:alpine
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY --from=builder /app/dist .
ENTRYPOINT ["nginx", "-g", "daemon off;"]
现在我们已经组装了Dockerfile,让我们构建一个名为vue-nginx的镜像:
docker build -t vue-nginx .
现在我们的镜像已构建,我们可以使用以下命令启动一个容器,该容器将在端口8080上为我们的应用程序提供服务。
docker run --rm -it -p 8080:80 vue-nginx
然后访问http://localhost:8080即可访问vue应用程序。
猜你喜欢
- 2024-10-14 Docker 安装 Nginx 容器 (完整详细版)
- 2024-10-14 Nginx日志切割方法(包含docker容器中nginx日志的切割)
- 2024-10-14 k8s删除pod时报错(k8s强制删除pod不重启)
- 2024-10-03 【NGINX】隐藏和伪装Nginx和PHP版本号
- 2024-10-03 使用Docker部署Nginx(docker-compose部署nginx)
- 2024-10-03 centos7-nginx 日志手动或定时清理
- 2024-10-03 企业网站维护教程:宝塔网站安装失败,Nginx报错的解决方法
- 2024-10-03 使用docker-copyedit工具删除镜像中不需要的环境变量和VOLUME
- 2024-10-03 删除windows服务(window删除服务命令)
- 2024-10-03 我是如何使用docker安装nginx并配置https服务的
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)