我创建了一个dockerfile来获取官方的php / apache映像,添加了一堆依赖项并克隆了一个GitHub repo,这在本地构建容器映像时效果很好,但是当我推送时失败了它到GitHub并在Docker Hub触发自动构建。
失败的命令是git clone
RUN git clone git://github.com/symphonycms/symphony-2.git /var/www/html
失败的原因(根据Git)是
第5步:运行git clone git://github.com/symphonycms/symphony-2.git / var / www / html&& git checkout --track origin / bundle&&混帐 子模块更新--init --recursive&& git clone git://github.com/symphonycms/workspace.git&& chown -R www-data:www-data *
[91mfatal:目的地路径' / var / www / html' 已存在且不是空目录。
有人可以解释为什么在本地构建没有问题但在集线器上出现故障?
答案 0 :(得分:1)
因此,您推送的图像中包含/var/www/html/
目录(并且可能包含git repo)。
在您的docker文件中尝试此操作以确保该目录不存在:
RUN rm -rf /var/www/html
RUN git clone git://github.com/symphonycms/symphony-2.git /var/www/html && git checkout --track origin/bundle && git submodule update --init --recursive && git clone git://github.com/symphonycms/workspace.git && chown -R www-data:www-data