मैं बिल्डिंग संदर्भ की जड़ से एक एकल फ़ाइल को एक डॉकर छवि में नव निर्मित निर्देशिका में कॉपी करने का प्रयास कर रहा हूं।डॉकर की कॉपी/एडीडी निर्देशों का उपयोग कैसे करें एक फ़ाइल को एक छवि में कॉपी करने के लिए
FROM debian:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY test.txt /usr/src/app
test.txt फ़ाइल एक सरल ASCII पाठ फ़ाइल इस प्रकार है::
$ cat test.txt
This is a test
लेकिन जब मैं इस छवि मैं का निर्माण, इस प्रकार
Dockerfile है कि मैं का उपयोग कर रहा है एक छवि प्राप्त करें जिसमें कहा गया है कि गंतव्य पथ निर्देशिका नहीं है।
$ docker build .
Sending build context to Docker daemon 4.608 kB
Sending build context to Docker daemon
Step 0 : FROM debian:latest
---> 9a61b6b1315e
Step 1 : RUN mkdir -p /usr/src/app
---> Using cache
---> 86bd44a8776e
Step 2 : WORKDIR /usr/src/app
---> Using cache
---> ed6771adc681
Step 3 : ADD test.txt /usr/src/app
stat /var/lib/docker/devicemapper/mnt/ee5b9b7029f2adf27d332cbb0d98d6ad9927629a7569fd2d9574cb767b23547b/rootfs/usr/src/app/test.txt: not a directory
मैंने डॉकर संस्करणों, आधार छवियों और डॉकर के साथ वितरण के कई संयोजनों का उपयोग करने का प्रयास किया है। मैंने सीओपीवाई के बजाय एडीडी का उपयोग करने का भी प्रयास किया है लेकिन परिणाम वही है।
मैं वर्तमान में निम्नलिखित डोकर संस्करण स्थापित साथ CentOS 7 पर इस कोशिश कर रहा हूँ:
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64
क्या मैं देखा है कि मैं एक निर्देशिका फ़ाइल कॉपी कर सकते हैं, लेकिन नहीं है। उदाहरण के लिए, अगर मैं निर्माण संदर्भ जड़ में एक "परीक्षण" निर्देशिका बनाने और परीक्षण निर्देशिका के अंदर test.txt डाल तो मैं निर्देशिका सफलतापूर्वक कॉपी कर सकते हैं:
FROM debian:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY test /usr/src/app
ध्यान दें कि Dockerfile ऊपर में मैं पूरी कॉपी ./test.txt की बजाय ./test निर्देशिका। यह सफलतापूर्वक निर्माण।
Docker documentation कॉपी अनुदेश जो मुझे क्या करना है कोशिश कर रहा हूँ के समान है के लिए निम्नलिखित नमूना उपयोग के मामले होते हैं:
COPY hom?.txt /mydir/
किसी को भी बाहर बिंदु सकता है मैं गलत क्या कर रहा हूँ? मैं एक फ़ाइल की प्रतिलिपि बनाने के बारे में कैसे जा सकता हूं?
धन्यवाद jwodder, सीधे काम किया। –