南瓜慢说官方网站

  • 首页
  • 所有文章
  • 容器技术
  • SpringBoot-Cloud
  • 程序人生
  • 其它
  • 整理
  • 关于

  • 搜索
中间件 config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac 计划 Stream MongoDB Spring DevOps JVM String Map Set List 性能 Email Springboot 集合类 ArrayList Java
技术之前,先读诗书:

Dockerfile复制上级目录文件

发表于 2020-07-20 | 分类于 容器技术 | 0 | 阅读次数 927

问题

通过Dockerfile制作镜像时,常常需要复制文件到镜像里。但想要复制上级目录/父级目录的文件该怎么办呢?

COPY ../../pkslow.sh /opt/app/pkslow/pkslow.sh

这样是无效的。Dockerfile并不支持../指向上级目录的方式。

而我们通过docker build -t my-tab /dockerfile.dir打包里,Dockerfile必须在dockerfile.dir里,这样看它只能复制dockerfile.dir目录下的文件了。

解决方案

所以解决方案很简单,就是把你需要的文件放在dockerfile.dir目录就行了。

更优的方案

实际上,Dockerfile与build镜像的上下文目录不必强关联在一起的。可以通过以下命令来build:

$ docker build -t my-tab -f /abc/defg/my-dockerfile /context-dir

这样便可实现两者的分离了,Dockerfile所描述的相对路径,是以context-dir为基础的。这点必须搞清楚!!!这样我们就可以复制context-dir目录下的所有文件了。因为能自由指定context-dir,自然就能复制任何上级目录的文件了。


欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

file

推荐阅读:
如何制定切实可行的计划并好好执行
容器技术(Docker-Kubernetes)
SpringBoot-Cloud相关
Https专题

  • 本文作者: 南瓜慢说
  • 本文链接: https://www.pkslow.com/archives/dockerfile-copy-parent-files
  • 版权声明: 本博客所有文章除特别声明外,不可转载!
# 中间件 # config # Go # Private # Kubernetes # pkslow # Test # HTTPS # Redis # Docker # Mac # 计划 # Stream # MongoDB # Spring # DevOps # JVM # String # Map # Set # List # 性能 # Email # Springboot # 集合类 # ArrayList # Java
中间件 config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac 计划 Stream MongoDB Spring DevOps JVM String Map Set List 性能 Email Springboot 集合类 ArrayList Java
Kubectl设置默认命令空间namespace
Dockerfile复制时如何保留子目录的结构
  • 文章目录
  • 站点概览
南瓜慢说

南瓜慢说

多年Java开发,主要专注后端技术:Java/Spring/Springboot/微服务/大数据等。

多读书,多分享;多写作,多整理。

152 日志
7 分类
27 标签
RSS
0%
© 2020 — 2021 南瓜慢说 本站已挣扎运行:   粤ICP备20036375号