搜 索

vue项目打包部署到docker

  • 196阅读
  • 2023年06月07日
  • 0评论
首页 / 前端技术 / 正文

首先先用npm run build打包成可以部署的文件,一般为dist文件夹,以下以打包成dist文件夹为例

在dist文件夹同级下,创建一个文件名为nginx.conf,内容编写为,该文件是容器中nginx配置文件,内容均可自定义

server {
    listen       80;
    server_name  localhost; 

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

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

要注意server location中的root要跟下面Dockerfile中配置的dist文件夹路径一致

在dist文件夹同级下,创建一个文件名为Dockerfile,内容编写为

#(latest是下载最新的nginx,也可以指定nginx版本)
FROM nginx:latest 

#(xxx 为名字,作者/维护者姓名)
MAINTAINER xxx 

#(当前目录的dist文件夹复制到容器的/usr/share/nginx/html/文件夹,可以自定义,但是要跟后续nginx.conf配置项中的对应)
COPY dist/  /usr/share/nginx/html/ 

#(当前目录的nginx.conf复制到容器的nginx配置中)
COPY nginx.conf /etc/nginx/nginx.conf 

RUN echo 'echo init ok!!'

创建完成后,下一步创建镜像,镜像名可以自定义,例如yixianWeb,命令为

docker build -t yixianweb .

要注意有个点 .

执行完毕可以使用

docker image ls

查看一下镜像是否成功

之后创建容器,容器名可以自定义,例如yixianweb,-p后面的8848:80为映射端口使用,8848为服务器的端口,开放后用于访问(ip:8848),80为容器内部的端口,例如上面nginx配置项中配置的是80

docker run -d --name yixianweb -p 8848:80 yixianweb

至此,容器启动成功,防火墙开放8848后,可以通过ip:8848访问项目

使用

docker exec -it yixianweb /bin/bash

可以进入容器中操作

评论区
暂无评论
avatar