[Docker]如何实现使用scp从任意路径中向Docker镜像中复制文件

  众所周知,Docker镜像制作命令ADD和COPY,不能访问Dockerfile上下文之外的路径,可是我又想要从本机或者局域网主机中复制文件,当然你可以假设HTTP或者FPT服务,然后使用ADD命令。但是我都觉得麻烦,我就想利用局域网中现有的ssh服务来实现这个目的,因此经过一凡研究搜索,终于实现了这个小目标,不多说废话上代码:

COPY --chown=root:root ssh/id* /.ssh/
RUN ls -l /.ssh \
  && scp -o 'StrictHostKeyChecking no' -i /.ssh/id_rsa root@192.168.0.113:/home/user1/downloads/LibreOffice/LibreOffice*  /tmp \
  && rm /.ssh/id*

  稍微啰嗦一下,上述scp命令中,通过-o选项传递的 'StrictHostKeyChecking no' 含义为跳过让用户确认接受ssh主机的指纹。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章