Nitekim ADD go /usr/local/
katacak içeriği arasında go
klasörde değil klasörün kendisi, sen Thomasleveil çözümü kullanabilirsiniz veya herhangi bir nedenle işi olmasaydı değiştirebileceğiniz WORKDIR
için /usr/local/
o gibi ona da dizin ekleyin:
WORKDIR /usr/local/
COPY go go/
veya
WORKDIR /usr/local/go
COPY go ./
Ancak , birden fazla klasör eklemek istiyorsanız , bunları eklemek böyle can sıkıcı olacaktır, şimdilik şu anki sorunumdan gördüğüm tek çözüm kullanmak COPY . .
ve tüm istenmeyen dizinleri ve dosyaları hariç tutmak .dockerignore
, diyelim ki klasör ve dosyalar var :
- src
- tmp
- dist
- assets
- go
- justforfun
- node_modules
- scripts
- .dockerignore
- Dockerfile
- headache.lock
- package.json
ve ben eklemek istiyorum src assets package.json justforfun go
:
Dockerfile içinde:
FROM galaxy:latest
WORKDIR /usr/local/
COPY . .
.dockerignore dosyasında:
node_modules
headache.lock
tmp
dist
Ya da daha fazla eğlence için (ya da daha fazla insanın acı çekmesini sağlamayı karıştırmak isterseniz: P) şunlar olabilir:
*
!src
!assets
!go
!justforfun
!scripts
!package.json
Bu şekilde her şeyi yok sayarsınız, ancak kopyalanmasını veya yalnızca "yoksayılanlar listesinden" eklenmesini istediklerinizi hariç tutarsınız.
Bu geç bir cevap ama aynı şeyi daha fazla vakayı kapsayan daha fazla yol eklemek
ADD
her kaynak dizini için bir katman oluşturmadan )?