我需要在几种不同的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
答案 0 :(得分:0)
应该是GIT_TREE而不是GIT-TREE吗?