编写Dockerfie文件使用COPY命令复制vue项目的dist文件夹下的所有文件遇到的坑
一个vue框架的前端项目,编译后生成的dist文件夹里有如下文件
[root@localhost ]# cd dist/
[root@localhost dist]# ll
total 864
-rw-r--r-- 1 root root 723755 Jul 29 19:43 echarts.js
-rw-r--r-- 1 root root 16958 Jul 29 19:43 favicon.ico
-rw-r--r-- 1 root root 1609 Jul 29 19:43 imView3.html
-rw-r--r-- 1 root root 2103 Jul 29 19:43 imView.html
-rw-r--r-- 1 root root 14757 Jul 29 19:43 index.html
-rw-r--r-- 1 root root 112251 Jul 29 19:43 newPrivacy.html
drwxr-xr-x 7 root root 71 Jul 29 19:43 static
[root@localhost dist]# cd static/
[root@localhost static]# ll
total 24
drwxr-xr-x 2 root root 8192 Jul 29 19:43 css
drwxr-xr-x 2 root root 73 Jul 29 19:43 fonts
drwxr-xr-x 2 root root 78 Jul 29 19:43 img
drwxr-xr-x 3 root root 8192 Jul 29 19:43 js
drwxr-xr-x 5 root root 69 Jul 29 19:43 tinymce4.7.5
编写Dockerfile文件,要把dist文件夹下的所有文件(不包含dist文件夹)都放到nginx的html目录下
FROM nginx:stable-alpine
COPY dist/* /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
这样写后封装一个镜像,运行后会发现,容器目录:/usr/share/nginx/html/
下的文件是这种的
[root@localhost ~]# docker exec -it lucid_lewin /bin/sh
/ # cd /usr/share/nginx/html/
/usr/share/nginx/html # ls
50x.html echarts.js fonts imView3.html index.html newPrivacy.html
css favicon.ico imView.html img js tinymce4.7.5
可以看到,原本应在是在html目录下有一个static文件夹的,但是在容器中却是把该static文件夹下的文件都给提到上一层,也就是html目录下了,没有static文件夹了。
导致前端项目访问的时候找不到static文件夹路径而报错。
解决办法:
安装如下写法编写Dockerfile文件
FROM harbor.miaohuanba.com/infra/nginx:stable-alpine
COPY dist/ /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
COPY dist/ /usr/share/nginx/html/
命令的意思是将项目根目录下dist文件夹下的所有文件复制到镜像中 /usr/share/nginx/html/
目录下。
这样一来,就能原封不动的把dist文件夹下的所有文件复制到nginx的html目录下来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2022-07-29 飞度购车资料整理
2022-07-29 轮胎规格参数解释(图解) 超详细
2021-07-29 Ceph分布式存储详述
2021-07-29 解决zeal离线文档下载慢问题
2021-07-29 使用ko安装的nexus想作为maven仓库使用
2021-07-29 普通用户使用CI/CD权限使用