2017-02-12 4 views
5

मैं एक बहुत ही सरल dockerfile है, के साथ "rm- आरएफ" है, लेकिन मुझे मिल गया कुछ त्रुटि की तरह:Dockerfile "rm- आरएफ" स्थापना के बाद स्थापना फ़ाइलें दूर करने के लिए असफल

 
Step 4/4 : RUN rm -Rf /INSTALLATION 
---> Running in 19fe828f3c9d 
rm: cannot remove '/INSTALLATION/Subsystems/Common': Directory not empty 
rm: cannot remove '/INSTALLATION/Subsystems/EMS': Directory not empty 

मैं जड़ उपयोगकर्ता के साथ सभी को चलाने ।

मेरे dockerfile:

 
FROM centos 
COPY INSTALLATION/ /INSTALLATION/ 
RUN rm -Rf /INSTALLATION 

मेरे ओएस centos7 है, और मेजबान ओएस RHLE 7.

डोकर जानकारी

 
[[email protected] 1]# docker info 
Containers: 53 
Running: 27 
Paused: 0 
Stopped: 26 
Images: 19 
Server Version: 1.13.0 
Storage Driver: overlay 
Backing Filesystem: xfs 
Supports d_type: false 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge host macvlan null overlay 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Init Binary: docker-init 
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e 
runc version: 2f7393a47307a16f8cee44a37b262e8b81021e3e 
init version: 949e6fa 
Security Options: 
seccomp 
    Profile: default 
Kernel Version: 3.10.0-229.el7.x86_64 
Operating System: Red Hat Enterprise Linux Server 7.1 (Maipo) 
OSType: linux 
Architecture: x86_64 
CPUs: 24 
Total Memory: 94.41 GiB 
Name: snap460c03 
ID: T3ST:6DXJ:SDST:3W3J:Z4NB:UXF7:HGSZ:A3WH:ELHX:GVZW:APTD:7ZEK 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Http Proxy: http://16.85.88.10:8080/ 
No Proxy: docker-registry 
Registry: https://index.docker.io/v1/ 
Experimental: false 
Insecure Registries: 
docker-registry:5000 
127.0.0.0/8 
Live Restore Enabled: false 

है मैं भी नया एक कंटेनर की कोशिश की और इसे मैन्युअल रूप से प्रयास करते हैं, लेकिन परिणाम भी त्रुटि है:

 
[[email protected] 1]# docker run -it e20c9c5ffa8a /bin/bash 

[[email protected] /]# rm -Rf /INSTALLATION/Subsystems/Common/* 

[[email protected] /]# rm -Rf /INSTALLATION/Subsystems/Common 

rm: cannot remove '/INSTALLATION/Subsystems/Common': Directory not empty 

आप देख सकते हैं कि दूसरा आरएम असफल रहा है, मैंने rmdir की कोशिश की, नियम भी त्रुटि है।

जब मैं निर्देशिका ls, यह दिखाने:

 
ls /INSTALLATION/Subsystems/Common 
ls: cannot access /INSTALLATION/Subsystems/Common/eium-license.config: No such file or directory 
ls: cannot access /INSTALLATION/Subsystems/Common/install_jdk.sh: No such file or directory 
eium-license.config install_jdk.sh 

आप इसे ऐसी कोई फाइल नहीं कहा जा सकता है लेकिन फाइलों के साथ पालन करें।

+0

क्या आपने जांच की है कि इन निर्देशिकाओं में कौन सी फाइलें छोड़ी गई हैं? – Henry

+0

'आरएम-आर'' आरएम-आर' के विपरीत क्या करता है? – Thilo

+3

@ थिलो '-r, -R, --recursive' समानार्थक हैं, वे सब वही करते हैं। – Henry

उत्तर

-1

मुझे विश्वास है कि यह डॉकर के साथ एक ज्ञात मुद्दा है।

आप एक समाधान के रूप में निम्नलिखित की कोशिश कर सकते हैं:

Supports d_type: false 

आप शायद इस सामना कर रहे हैं:

RUN rm -Rf /INSTALLATION/* 
+0

मैंने कोशिश की, परिणाम एक ही त्रुटि है। –

+0

मैंने इसे मैन्युअल रूप से संचालित करने का भी प्रयास किया, परिणाम भी त्रुटि है: [root @ devvm13 1] # डॉकर रन -it e20c9c5ffa8a/bin/bash [root @ f3efa193700d /] # आरएम-आरएफ/स्थापना/सबसिस्टम/सामान्य/* [रूट @ f3efa193700d /] # आरएम-आरएफ/स्थापना/सबसिस्टम/सामान्य आरएम: '/ स्थापना/सबसिस्टम/सामान्य' को हटा नहीं सकता: निर्देशिका खाली नहीं है –

+0

यदि/इंस्टॉलेशन में चिप फ़ोल्डर है, तो परिणाम भी त्रुटि है। –

0

यह आपकी समस्या है https://github.com/moby/moby/issues/31283

आप पुन: फ़ॉर्मेट करने की आवश्यकता होगी xfs फ़ाइल सिस्टम जैसे:

mkfs -t xfs -n ftype=1 -f /path/to/device 

(हमें किसी भी तरह से बल विकल्प की आवश्यकता है)।

और जानकारी: https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.2_Release_Notes/technology-preview-file_systems.html

1

मैं एक ही मुद्दा है, कुछ ही घंटों बिताने के बाद इस मुद्दे को मिल गया था: - https://github.com/docker/docker/issues/27358

तो लंबी कहानी संक्षेप में, यहाँ मैं इसे कैसे तय है ।

जब आप एक डॉकर जानकारी करते हैं, तो आपके आउटपुट में आपके पास Storage Driver: overlay है, मेरे पास वही था, जो मैंने devicemapper को ओवरले बदल दिया था। यहां दिखाए गए निर्देशों का पालन करें - https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#configure-docker-with-the-devicemapper-storage-driver

आपको डॉकर सेवा को भी रोकना और शुरू करना होगा।

नोट: एक बार जब आप आप अपने सभी पिछले छवियों से वंचित रह जाएंगे बदलने के लिए, मतलब है कि आप किसी भी चित्र नहीं देखेंगे/कंटेनर आप टाइप जब docker images या docker ps।वे फाइल सिस्टम में होंगे, वे डिस्क स्पेस ले लेंगे। तो आपको उस निर्देशिका को मैन्युअल रूप से हटाना होगा, इसलिए यह /var/lib/docker/overlay के तहत होगा।

संबंधित मुद्दे