1.将写好的vue项目打包
npm run build
打包完成后项目根目录多出来一个dist文件夹
2.nginx安装配置
Nginx 是一个高性能的 HTTP 和反向代理服务器,此处我们选用 Nginx 镜像作为基础来构建我们的vue应用镜像。
2.1获取 Nginx 镜像
docker pull nginx
- Docker镜像(Image)一个特殊的文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
- Docker 镜像相关操作有:搜索镜像,docker search [REPOSITORY[:TAG]];拉取镜像,docker pull
[REPOSITORY[:TAG]];查看镜像列表,docker image ls;删除镜像,docker image rm
[REPOSITORY[:TAG]] / docker rmi [REPOSITORY[:TAG]] 等等。 - Docker 镜像名称由 REPOSITORY 和 TAG 组成 [REPOSITORY[:TAG]],TAG默认为 latest。
2.2创建文件 nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; client_max_body_size 20m; server { listen 80; server_name 云服务器ip地址; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri $uri/ /index.html; } } }
该配置文件定义了首页的指向为 /usr/share/nginx/html/index.html,所以我们可以一会把构建出来的 index.html 文件和相关的静态资源放到 /usr/share/nginx/html 目录下。
2.3创建 Dockerfile 文件
FROM nginx COPY ./dist/ /usr/share/nginx/html/ COPY nginx.conf /etc/nginx/nginx.conf
- 自定义构建镜像的时候基于 Dockerfile 来构建。
- FROM nginx 命令的意思该镜像是基于 nginx:latest 镜像而构建的。
- COPY dist/ /usr/share/nginx/html/ 命令的意思是将项目根目录下 dist文件夹下的所有文件复制到镜像中/usr/share/nginx/html/ 目录下。
- COPY nginx/default.conf /etc/nginx/conf.d/nginx.conf 命令的意思是将 Nginx目录下的 default.conf 复制到 etc/nginx/conf.d/default.conf,用本地的 nginx.conf配置来替换 Nginx 镜像里的默认配置。
将这几个文件上传到服务器上,此处我用的是WinScp
2.4基于该 Dockerfile 构建 Vue 应用镜像
切换到目录vue下,执行命令:
docker build -t wordsui .
-t 是给镜像命名,. 是基于当前目录的 Dockerfile 来构建镜像。
可输入命令:docker images 查看创建好的镜像信息
3.启动 Vue app 容器
3.1基于 wordsui镜像启动容器,运行命令:
docker run -p 8080:80 -d wordsui
- -p 做一个端口暴露
- -d 后台运行
- wordsui 就是我之前打包的镜像名字
成功启动:
3.2可输入命令:docker ps -a 查看容器信息(访问端口,创建时间,容器名称等)
访问ip地址:8080成功启动,大功告成!
原文链接:https://blog.csdn.net/weixin_41811352/article/details/118391351
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END