上传本地文件到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>