Docker-将文件从主机上的外部位置复制到容器中

时间:2019-04-28 20:19:08

标签: docker ubuntu centos dockerfile redhat

我需要在几种不同的OS类型上测试团队软件,因此我决定利用Docker来提供帮助。

我本质上想做的是在某个中心位置签出一棵我们的仓库。然后,我希望有几个具有不同os类型的容器,这些容器在构建时都将git树复制到其根文件夹中。原因是我希望所有容器始终测试相同的软件补丁。

这是我设置docker容器目录结构的方式:

docker_containers/
    GIT_TREE/
    container_ubuntu14/
        git_tree/ (symbolic link to ../GIT_TREE)
        build.sh  (docker build commands specific to this os type)
        Dockerfile
        run.sh (docker run commands for use post build)
    container_ubuntu18/
        git_tree/ (symbolic link to ../GIT_TREE)
        build.sh  (docker build commands specific to this os type)
        Dockerfile
        run.sh (docker run commands for use post build)
    container_centos7/
        git_tree/ (symbolic link to ../GIT_TREE)
        build.sh  (docker build commands specific to this os type)
        Dockerfile
        run.sh (docker run commands for use post build)

因此,如您所见,每种容器类型都有一个符号链接,该符号链接指向检出我的git树的主目录。对于每个实例,在Dockerfile中都有一行COPY git_tree /。我尝试将符号链接复制到新容器的根目录,每次都会收到以下错误:

COPY failed: stat /home/user/docker_fs/tmp/docker-builder474024999/home/user/docker_containers/GIT_TREE: no such file or directory

1 个答案:

答案 0 :(得分:0)

应该是GIT_TREE而不是GIT-TREE吗?