docker部署vue,Dockerfile方式

1、服务器拉取nginx镜像

2、打包vue项目,上传到服务器(目录事先创建好)

3、 在dist的同级目录下(/mydata/xxx/)创建和配置default.conf和Dockerfile

default.conf:
 

server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
#后端接口地址
    location /api/ {
        proxy_pass http://*****:8080/;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

Dockerfile:

# 基础镜像使用Nginx
 FROM nginx
# # 作者
 MAINTAINER ***
# # 添加时区环境变量,亚洲,上海
 ENV TimeZone=Asia/Shanghai
# # 将前端dist文件中的内容复制到镜像/usr/share/nginx/html/目录下
 COPY ./dist/  /usr/share/nginx/html/
#将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
 COPY default.conf /etc/nginx/conf.d/
# # 暴露端口
 EXPOSE 80

4、在/mydata/xxx/目录下构建docker镜像

注意:注意不要少了最后的“.”   -t是给镜像命名,. 是基于当前目录的Dockerfile来构建镜像

docker build -t myapp .

5、启动基于刚刚创建的镜像的容器

docker run -d -p 8021:80 --name xx myapp

说明:

docker run:基于镜像启动一个容器
 
-d:后台方式启动
 
-p 8021:80: 端口映射,将宿主机的8021端口映射到容器的80端口
 
--name:容器名,我的叫xx
 
myapp:要启动的镜像名称

6、docker ps查看容器是否启动 

7、浏览器输入地址访问vue项目

 

参考:Docker容器部署前端Vue服务——手把手教学_春夏丶秋冬的博客-CSDN博客

### 使用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应用了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值