本文翻译自:Copy directory to other directory at Docker using ADD command

I have read http://docs.docker.com/engine/reference/builder/#add however I met a problem. 我已阅读http://docs.docker.com/engine/reference/builder/#add但我遇到了一个问题。 I want to copy the local directory go to docker /user/local/ 我想复制本地目录go docker /user/local/

I tried: 我试过了:

ADD go /usr/local/

and: 和:

ADD /go/ /usr/local/

also: 也:

RUN chmod 0755 /usr/local/go/src/make.bash

However, I see the following error message /usr/local/go/src/make.bash: No such file or directory but the local go directory does contain make.bash . 但是,我看到以下错误消息/usr/local/go/src/make.bash: No such file or directory但本地go目录确实包含make.bash


#1楼

参考:https://stackoom.com/question/1nD7W/使用ADD命令将目录复制到Docker的其他目录


#2楼

ADD go /usr/local/

will copy the contents of your local go directory in the /usr/local/ directory of your docker image. 将在docker镜像的/usr/local/目录中复制本地go目录的内容 。

To copy the go directory itself in /usr/local/ use: 要在/usr/local/ use中复制go目录本身:

ADD go /usr/local/go

or 要么

COPY go /usr/local/go

#3楼

Indeed ADD go /usr/local/ will add content of go folder and not the folder itself, you can use Thomasleveil solution or if that did not work for some reason you can change WORKDIR to /usr/local/ then add your directory to it like: 确实ADD go /usr/local/会添加go文件夹的内容而不是文件夹本身,你可以使用Thomasleveil解决方案,或者如果由于某种原因无效,你可以将WORKDIR更改为/usr/local/然后将你的目录添加到它喜欢:

WORKDIR /usr/local/
COPY go go/

or 要么

WORKDIR /usr/local/go
COPY go ./

But if you want to add multiple folders, it will be annoying to add them like that, the only solution for now as I see it from my current issue is using COPY . . 但是如果你想添加多个文件夹,那么添加它们会很烦人,现在唯一的解决方案是我现在的问题是使用COPY . . COPY . . and exclude all unwanted directories and files in .dockerignore , let's say I got folders and files: 并排除.dockerignore所有不需要的目录和文件,假设我有文件夹和文件:

src
tmp
dist
assets
go
justforfun
node_modules
scripts
.dockerignore
Dockerfile
headache.lock
package.json

and I want to add src assets package.json justforfun go so: 我想添加src assets package.json justforfun go so:

in Dockerfile: 在Dockerfile中:

FROM galaxy:latestWORKDIR /usr/local/
COPY . .

in .dockerignore file: 在.dockerignore文件中:

node_modules
headache.lock
tmp
dist

Or for more fun (or you like to confuse more people make them suffer as well :P) can be: 或者为了更多的乐趣(或者你想让更多的人迷惑让他们受苦:P)可以是:

*
!src
!assets
!go
!justforfun
!scripts
!package.json

In this way you ignore everything, but excluding what you want to be copied or added only from "ignore list". 通过这种方式,您可以忽略所有内容,但不包括您希望复制或仅从“忽略列表”添加的内容。

It is a late answer but adding more ways to do the same covering even more cases. 这是一个迟到的答案,但增加了更多的方法,以覆盖更多的情况。


#4楼

You can use COPY. 您可以使用COPY。 You need to specify the directory explicitly. 您需要明确指定目录。 It won't be created by itself 它不会自己创建

COPY go /usr/local/go

Reference: Docker CP reference 参考: Docker CP参考

使用ADD命令将目录复制到Docker的其他目录相关推荐

  1. Mac目录映射到docker容器ubuntu目录

    1.把Mac里的目录映射到Docker下ubuntu容器里,这样就可以在Ubuntu容器里操作Mac上的文件 # docker run -it -v /Users/xxx/working:/home ...

  2. Docker挂载主机目录Docker访问出现Permission denied的解决办法

    问题: docker挂载主机目录Docker访问出现Permission denied terminate called after throwing an instance of 'boost::f ...

  3. Linux之复制、移动文件及目录命令

    Linux之复制.移动文件及目录命令 1. 复制.移动文件及目录命令的使用 命令 说明 cp 拷贝文件.拷贝目录 mv 移动文件.移动目录.重命名 cp命令效果图: 说明: 拷贝目录需要加上-r选项, ...

  4. linux命令 把文件夹拷贝一遍_cp 快捷命令:复制文件到多个目录

    导读 在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务.对正在熟悉使用终端的人这是很容易理解的行为.然而,如果你想要成为一个老手,学习我说的"快捷命令&quo ...

  5. linux复制目录命令夹,linux复制目录(文件夹)和打包命令

    linux复制目录(文件夹)和打包命令 复制目录命令: cp 需要复制的目录 -r 目的目录 (注意带参数-r) 压缩文件:zip -r 压缩后文件名 需要压缩的目录 喎?http://www.Bkj ...

  6. Linux 命令之 cp -- 复制文件或目录

    文章目录 一.命令介绍 二.常用选项 三.命令示例 (一)复制某个目录到某个目录下 (二)复制文件 (三)复制文件到目标目录下,若存在文件则备份 (四)复制某个目录的全部文件到某个目录下 (五)复制一 ...

  7. cmd命令行用copy和xcopy实现文件拷贝/目录复制

    一.初级拷贝copy 1.拷贝单个文件 copy src\*.* dst 实例:源文件路径为d:\src\test.txt,目标文件夹目录为d:\dst,则具体命令为 copy d:\src\test ...

  8. c语言复制文件夹xcopy,XCOPY——目录复制命令

    Xcopy 复制文件和目录,包括子目录. 语法 xcopySource [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-DD ...

  9. 管理员身份运行cmd;cmd命令切换到指定文件夹目录;cmd命令窗口中复制粘贴

    如何以管理员身份运行cmd? 点击任务栏搜索按钮,搜索 cmd 右键管理员身份打开 管理员身份运行cmd时的一些常用命令 i.目录操作: e: #切换到E盘(要想切换到某个文件夹,要先切换到文件夹所属 ...

最新文章

  1. 最后2周 | 高级转录组分析和R语言数据可视化第十一期 (报名线上课还可免费参加线下课)...
  2. angular cli全局版本大于本地版本 把本地版本升级方式
  3. 可视化拖拽 UI 布局之拖拽篇
  4. Shell脚本实战之文件批量创建和修改
  5. MongoDB Driver:使用正确的姿势连接复制集
  6. 文档预览 OfficeWebViewer:在浏览器中查看Office文档
  7. [TaskList] 省选前板子补完计划
  8. python中123+5.0的执行结果_python实战笔记(一)
  9. java中流_java 中流的使用
  10. android 标题栏进度圈使用方法,Android 标题栏显示进度条
  11. ElasticSearch5.1 基本概念和配置
  12. Mysql基础(超详细)
  13. 财富游戏道具:保险篇
  14. [电子电路基础] 如何区分LED发光二极管引脚的正负极
  15. python母亲节代码_python 计算 母亲节
  16. 谈谈人们常说的“一时糊涂,鬼迷心窍”!
  17. 深圳人行推出企业信用报告网银查询渠道
  18. nodejs操作Excel表格
  19. 【性能测试】性能测试的基本流程
  20. python屏幕文字识别_python 图片文字识别 可截图识别

热门文章

  1. 基于盐+Sha算法的安全密码保护机制
  2. 关于java mail 发邮件的问题总结(转)
  3. 一些散落各处的移动开发好资源
  4. Python Mysql 数据库操作
  5. 【转】outlook 2007 如何设置开机自动启动
  6. 恨iPad是一种无知的畸形意识行为
  7. struts2+freemarker+sitemesh乱码,解决了
  8. yii 操作数据库的三种方法
  9. RHEL7 -- 使用Chrony设置时间与时钟服务器同步
  10. iOS开发之──传感器使用 (转载)