Dockerfile里ADD * 保留原来的目录结构

1、问题

给新模块写Dockerfile,很多静态资源分散在各个目录,于是Dockerfile里我直接一句:

ADD ./* /dest/

镜像出来后,启动容器,进入容器种后发现:文件拷贝成功,但原来的目录结构都不在了,所有文件被放在了一层目录里。

2、解决

改为:

ADD . /dest/

如此,会把原来的目录结构也带过来

Dockerfile里ADD * 保留原来的目录结构_第1张图片

3、其余思路

还有一些其他思路,当然不是分开ADD,那这样有n个目录,还不得写n个ADD或n个COPY。思路一:

# 直接cp
RUN cp -r ./* /dest/

思路二:

RUN rsync -arv --ignore-existing /path/to/project/ /dist/

你可能感兴趣的:(Error整理,docker,bash)