Dockerfile copy文件/文件夹,解压压缩包踩的两个坑

分享讨论IT相关的内容
回复
头像
BobMaster
锋芒初露
锋芒初露
帖子: 1362
注册时间: 2020年 12月 7日 08:05
来自: 神秘的东方
我的状态: 🎯
为圈友点赞: 438 次
被圈友点赞: 288 次
联系:

Dockerfile copy文件/文件夹,解压压缩包踩的两个坑

帖子 BobMaster »

mattermost最近使用wasabi s3服务出了问题,自己魔改后,需要解决一下容器打包的问题。

https://github.com/hibobmaster/mattermo ... Dockerfile

1. 使用COPY指令时如果源路径是文件夹,那么拷贝的是将源目录下的文件(而不是文件夹)拷贝到目标路径下
对于源文件夹下还有子文件的情况,可以参考这样处理

代码: 全选

COPY --from=backend_builder /build/server/mattermost /mattermost/mattermost
COPY --from=backend_builder /build/server/bin /mattermost/bin
COPY --from=backend_builder /build/server/config /mattermost/config
COPY --from=backend_builder /build/server/fonts /mattermost/fonts
COPY --from=backend_builder /build/server/i18n /mattermost/i18n
COPY --from=backend_builder /build/server/templates /mattermost/templates
2. 压缩包解压
一开始我是直接使用tar -xf 解压,没有指定-C参数(将tar的工作路径却换过去),导致后面mv找不到指定路径,最后这么改解决了问题

代码: 全选

RUN mkdir -p /tmp/webapp \
    && tar -xf /tmp/mattermost-webapp.tar.gz -C /tmp/webapp \
    && rm /tmp/mattermost-webapp.tar.gz \
    && mv /tmp/webapp/client/* /mattermost/client/ \
    && chown -R mattermost:mattermost /mattermost
人生如音乐,欢乐且自由
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客