将文件从主机复制到docker容器,然后提交并推送

前端之家收集整理的这篇文章主要介绍了将文件从主机复制到docker容器,然后提交并推送前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在Ubuntu中使用docker.在开发阶段,我从主机中的Git克隆了所有源代码,在WebStorm中编辑它们,然后使用-v / host_dev_src:/ container_src在docker容器内运行Node.js,以便我可以测试.

然后,当我想发送它们进行测试时:我提交了容器并推出了新版本.但是当我在测试机器上拉动并运行图像时,源代码丢失了.这是有道理的,因为在测试机器中没有/ host_src可用.

我目前的解决方法是在测试机器上克隆源代码并使用-v / host_test_src:/ container_src运行docker.但是我想知道是否可以将源代码直接复制到容器中并避免这种操作.我更喜欢用源代码复制,粘贴和运行图像文件,特别是因为我们的测试机器上没有Internet连接.

PS:似乎docker cp只支持文件从容器复制到主机.

最佳答案
一种解决方案是在Dockerfile中安装git clone步骤,将源代码添加到映像中.在开发过程中,您可以使用-v参数覆盖此代码以使用docker run,以便您可以在不重建的情况下进行更改.在测试时,您只需检查更改并构建新图像.现在,您有一个完全独立的单独图像用于测试.

请注意,如果Dockerfile中有VOLUME指令,则需要确保它在git clone步骤之后发生.

这种方法的问题在于,如果您使用的是编译语言,则只希望二进制文件存在于最终图像中.在这种情况下,git clone需要替换为获取或编译二进制文件的一些代码.

猜你在找的Docker相关文章