Docker部署Vue应用

一、概述

首先,需要安装docker环境。本文是在Ubuntu系统中部署了Docker环境。

二、vue静态文件生成

-在vue工程目录下执行命令:

npm run build

命令执行成功后,会在当前目录产生dist文件夹,将dist文件夹拷贝到ubuntu虚拟机中。

三、准备Dockerfile和nginx.conf

首先要下载nginx基础镜像:

docker pull nginx

该条命令会下载最新版本的nginx基础镜像。

  • Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY dist/ /usr/vuejs/nginx/
  • nginx.conf :
worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
    keepalive_timeout  65;
 
    server {
        listen       11000;
        server_name  localhost;
        root /usr/vuejs/nginx/;
        index index.html;
       
        location ~^/usersrv[/\w*]*$ {
            proxy_pass http://192.168.10.12:3000; // 服务地址
        }
    }
}

四、制作docker镜像

docker build -t imageName:v1.0 .

五、启动docker镜像

docker run --name ContainerName -p 11000:11000 -d  imageName:v1.0  

查看是否运行成功:
浏览器打开:http://localhost:11000

六、镜像、容器管理

  • 查看镜像
    docker images
  • 删除镜像
    docker rmi imageId
  • 查看容器
    docker ps
  • 停止容器
    docker stop containerId
  • 刪除容器
    docker rm containerId
### 使用Docker部署Vue应用程序的最佳实践 #### 准备工作环境 为了构建和运行基于Vue应用程序容器,需要安装Docker并配置好开发环境。确保本地机器上已成功安装Docker,并能够正常启动服务。 #### 构建Vue项目基础结构 创建一个新的Vue CLI项目作为起点[^1]: ```bash npm install -g @vue/cli vue create my-vue-app cd my-vue-app ``` #### 创建自定义Dockerfile 在项目的根目录下新建名为`Dockerfile`的文件,用于描述如何打包应用及其依赖项进入Docker镜像内。对于生产环境中使用的Vue应用来说,推荐采用多阶段构建的方式优化最终生成的镜像大小: ```dockerfile # Build stage FROM node:lts-alpine as build-stage WORKDIR /app COPY package*.json ./ RUN npm ci --silent COPY . . RUN npm run build # Production stage FROM nginx:stable-alpine COPY --from=build-stage /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` 此设置首先利用Node.js镜像来编译前端资源,之后切换至Nginx服务器以高效提供静态页面内容给客户端访问。 #### 配置Nginx反向代理(可选) 如果希望进一步增强安全性或实现更复杂的路由逻辑,则可以在上述基础上增加一层Nginx配置来进行反向代理处理。这通常涉及到修改默认的Nginx配置文件(`default.conf`)以便更好地适应具体应用场景的需求。 #### 构建与推送Docker镜像 完成以上准备工作后,可以执行如下命令来构建Docker镜像并将之推送到公共或私有的Docker Registry中去: ```bash docker build -t your-docker-id/my-vue-app . docker push your-docker-id/my-vue-app ``` 这里假设已经注册过Docker Hub账号并且完成了必要的认证流程。 #### 运行容器实例 最后一步是在目标主机上拉取最新版本的镜像并通过指定端口映射等方式启动相应的容器实例: ```bash docker pull your-docker-id/my-vue-app docker run -d -p 8080:80 --name vue-web your-docker-id/my-vue-app ``` 这样就可以通过浏览器访问位于http://localhost:8080上的Vue应用了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oyezitan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值