公司要求把项目发布到docker去,开始Dockerfile是这样写的,"加了*号":
From docker-registry-xxxxxxxx/nginx:1.17.8
USER root
#下面两个加了*号
COPY ./dist/* /usr/share/nginx/html/
COPY ./config/uat/* /etc/nginx/
RUN chmod -R 775 /usr/share/nginx/html
RUN chmod -R 775 /etc/nginx
EXPOSE 8080
我的发布文件目录是这样的,static目录下面是js和css
11/27/2020 04:10 PM <DIR> .
11/27/2020 04:10 PM <DIR> ..
11/27/2020 04:10 PM 9,662 favicon.ico
11/27/2020 04:10 PM 4,522 index.html
11/27/2020 04:10 PM <DIR> static
发布上去之后,发现index.html访问ok,favicon.ico也是ok的,但是static目录下面的东西都404了。发现static目录没有了,直接就是js,css,img这些文件夹和index,html平级了。。。
最后发现,别人也遇到了,"加了*号"的时候会把当前目录下面的第一级目录给干掉,下一级的目录又会保留。
https://stackoverflow.com/questions/30256386/how-to-copy-multiple-files-in-one-layer-using-a-dockerfile
后面就改成这样啦,就访问顺利了。
From docker-registry-xxxxxxxx/nginx:1.17.8
USER root
#记得要保留目录接口别加*号
COPY ./dist/ /usr/share/nginx/html/
COPY ./config/uat/ /etc/nginx/
RUN chmod -R 775 /usr/share/nginx/html
RUN chmod -R 775 /etc/nginx
EXPOSE 8080