वास्तव में फ़ोल्डर की सामग्रीADD go /usr/local/
को जोड़ा जाएगा और फ़ोल्डर को स्वयं नहीं, आप थॉमसलेविल समाधान का उपयोग कर सकते हैं या यदि वह किसी कारण से काम नहीं करता है तो आप अपनी निर्देशिका को उसमें जोड़ सकते हैं जैसे:go
WORKDIR
/usr/local/
WORKDIR /usr/local/
COPY go go/
या
WORKDIR /usr/local/go
COPY go ./
लेकिन अगर आप कई फ़ोल्डरों को जोड़ना चाहते हैं, तो उन्हें इस तरह से जोड़ना कष्टप्रद होगा, अभी के लिए एकमात्र समाधान जैसा कि मैं अपने वर्तमान मुद्दे से देखता हूं COPY . .
सभी अवांछित निर्देशिकाओं और फ़ाइलों का उपयोग कर .dockerignore
रहा हूं और कहता हूं कि मुझे फ़ोल्डर और फाइलें मिली हैं :
- src
- tmp
- dist
- assets
- go
- justforfun
- node_modules
- scripts
- .dockerignore
- Dockerfile
- headache.lock
- package.json
और मैं इसे जोड़ना चाहता हूं src assets package.json justforfun go
:
Dockerfile में:
FROM galaxy:latest
WORKDIR /usr/local/
COPY . .
.dockerignore फ़ाइल:
node_modules
headache.lock
tmp
dist
या अधिक मज़े के लिए (या आप और अधिक लोगों को भ्रमित करना पसंद करते हैं और साथ ही उन्हें पीड़ित करते हैं: पी) हो सकता है:
*
!src
!assets
!go
!justforfun
!scripts
!package.json
इस तरह आप सब कुछ अनदेखा कर देते हैं, लेकिन जो आप कॉपी करना चाहते हैं उसे छोड़कर या केवल "इग्नोर लिस्ट" से ही जोड़ा जाता है।
यह एक देर से जवाब है लेकिन और भी मामलों को कवर करने के लिए और अधिक तरीके जोड़ना है।
ADD
प्रत्येक स्रोत निर्देशिका के लिए एक परत बनाए बिना )?