Docker COPY 不复制文件

问题描述

我已经查看了 SO 上的其他一些答案,但我认为它们中的任何一个都不适用于我(例如,我没有 .dockerignore)。

我有一个包含以下内容的 docker 文件

copY PHP-config/Nginx.conf /etc/Nginx/Nginx.conf
copY PHP-config/fpm-pool.conf /etc/PHP/8.0/fpm/pool.d/www.conf
copY PHP-config/PHP.ini /etc/PHP/8.0/fpm/conf.d/99-custom.ini
copY PHP-config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf

构建过程(我使用 kaniko 通过 gitlab 构建映像 https://docs.gitlab.com/ee/ci/docker/using_kaniko.html )似乎执行了必要的操作:

INFO[0253] Taking snapshot of full filesystem...        
INFO[0253] copY PHP-config/Nginx.conf /etc/Nginx/Nginx.conf 
INFO[0253] Taking snapshot of files...                  
INFO[0253] copY PHP-config/fpm-pool.conf /etc/PHP/8.0/fpm/pool.d/www.conf 
INFO[0253] Taking snapshot of files...                  
INFO[0253] copY PHP-config/PHP.ini /etc/PHP/8.0/fpm/conf.d/99-custom.ini 
INFO[0253] Taking snapshot of files...                  
INFO[0253] copY PHP-config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf 
INFO[0253] Taking snapshot of files...   


 

但是,在成功构建后尝试 docker run 容器时出现错误

Error: Could not find config file /etc/supervisor/conf.d/supervisord.conf
For help,use /usr/bin/supervisord -h  

我可以确认所有四个文件都存在于源目录中。

我还可以确认所有目标目录都存在(即我已经通过 docker run --rm -it *pathtocontainer* bash 检查了图像)。我的人工检查也确认只有 3/4 的文件被实际复制。

========

回复评论中的问题

INFO[0253] copY PHP-config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf 
INFO[0253] Taking snapshot of files...                  
INFO[0253] RUN ls -galFh /etc/supervisor/conf.d         
INFO[0253] cmd: /bin/sh                                 
INFO[0253] args: [-c ls -galFh /etc/supervisor/conf.d]  
INFO[0253] Running: [/bin/sh -c ls -galFh /etc/supervisor/conf.d] 
total 4.0K
-rw-rw-rw- 1 root 459 Jul  5 16:13 supervisord.conf
INFO[0253] Taking snapshot of full filesystem...        
INFO[0253] RUN mkdir /run/Nginx   && chown -R nobody:nogroup /usr/share/Nginx   && chown -R nobody:nogroup /run/Nginx   && chown -R nobody:nogroup /var/log/Nginx 
INFO[0253] cmd: /bin/sh                                 
INFO[0253] args: [-c mkdir /run/Nginx   && chown -R nobody:nogroup /usr/share/Nginx   && chown -R nobody:nogroup /run/Nginx   && chown -R nobody:nogroup /var/log/Nginx] 
INFO[0253] Running: [/bin/sh -c mkdir /run/Nginx   && chown -R nobody:nogroup /usr/share/Nginx   && chown -R nobody:nogroup /run/Nginx   && chown -R nobody:nogroup /var/log/Nginx] 
INFO[0253] Taking snapshot of full filesystem...        
INFO[0253] EXPOSE 8080                                  
INFO[0253] cmd: EXPOSE                                  
INFO[0253] Adding exposed port: 8080/tcp                
INFO[0253] USER nobody                                  
INFO[0253] cmd: USER                                    
INFO[0253] CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"] 
INFO[0253] Pushing image to foobar.example.com:5050/devops/debian/PHP:master 
INFO[0259] Pushing image to foobar.example.com:5050/devops/debian/PHP:3259b0fd 
INFO[0259] Pushing image to foobar.example.com:5050/devops/debian/PHP:latest 
INFO[0259] Pushed image to 3 destinations               
Cleaning up file based variables 00:01
Job succeeded

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...