上传本地文件到docker集装箱
有以下代码在我的Dockerfile中:
ENV GOVERS 073fc578434b RUN cd /usr/local && curl -O http://go.googlecode.com/archive/$GOVERS.zip RUN cd /usr/local && unzip -q $GOVERS.zip
上面的代码将zip文件下载到/usr/local
目录,一切正常。 但现在我不想下载zip文件,我想从我的本地PC上的zip文件到docker容器的/usr/local
。
假设zip文件名为test.zip
,并且位于与Dockerfile相同的目录中,那么可以使用dockerfile中的COPY指令。 你将会有:
COPY test.zip /usr/local/ RUN cd /usr/local && unzip -q test.zip
此外,您可以使用ADD指令而不是COPY
来解压缩zip文件,而不需要运行unzip命令:
ADD test.zip /usr/local/
我开始喜欢的另一种方法是使用卷和运行时命令。 如果我改变偶发事件,我不喜欢重build图像。
所以我在docker文件中创build了一个来回传输内容的卷:在Docker文件中:
RUN mkdir -p /someplace/dropbox .... CMD ..... ; $POST_START ; tail -f /var/log/messages
主持人:
mkdir /dropbox && cp ~/Downloads/fap.zip /dropbox \ docker run -v /dropbox:/someplace/dropbox \ -e POST_START="cp /someplace/dropbox/fap.zip /someplace-else; cd /someplace-else;unzip fap.zip" ..... <image>
- 为什么我的Docker正在运行,但是Http没有被服务?
- 如何在不存在docker文件的情况下构builddocker镜像
- Meteor-up通过远程terminal访问docker和nginx.conf(httpsredirect问题)
- 关于Docker的Mesos和Marathon限制
- Docker构build的目录是什么?
- 通过远程API设置Docker Volume Driver选项
- 我可以通过CLI针对远程守护进程构build一个Docker容器吗?
- 无法通过VSTS2017连接到Azure Windows Server 2016计算机上的docker守护进程
- 使用Dockerfile运行命令时出错