Saya telah membaca http://docs.docker.com/engine/reference/builder/#add namun saya menemui masalah. Saya ingin menyalin direktori lokal go
ke buruh pelabuhan/user/local/
Saya mencoba:
ADD go /usr/local/
dan:
ADD /go/ /usr/local/
juga:
RUN chmod 0755 /usr/local/go/src/make.bash
Namun, saya melihat pesan kesalahan berikut /usr/local/go/src/make.bash: No such file or directory
tetapi go
direktori lokal memang mengandung make.bash
.
ADD
layer untuk setiap direktori sumber)?$HOME
atau~
variabel shell lainnya tidak akan berfungsi. Saya mengatakan ini karena saya menghabiskan banyak uang untuk mencari tahu hal ini daripada yang ingin saya akui meskipun itu sangat jelas bagi kebanyakan orang.COPY
bersikap seperti itucp
? Sebaliknya perlu ada polisi tambahan cara kerjanya.Memang
ADD go /usr/local/
akan menambahkan konten darigo
folder dan bukan folder itu sendiri, Anda dapat menggunakan solusi Thomasleveil atau jika yang tidak bekerja untuk beberapa alasan Anda dapat mengubahWORKDIR
ke/usr/local/
kemudian menambahkan direktori Anda untuk itu seperti:atau
Tetapi jika Anda ingin menambahkan beberapa folder, akan sangat menjengkelkan untuk menambahkannya seperti itu, satu-satunya solusi untuk saat ini seperti yang saya lihat dari masalah saya saat ini adalah menggunakan
COPY . .
dan mengecualikan semua direktori dan file yang tidak diinginkan.dockerignore
, katakanlah saya punya folder dan file :dan saya ingin menambahkan
src assets package.json justforfun go
:di Dockerfile:
dalam file .dockerignore:
Atau untuk lebih bersenang-senang (atau Anda ingin membingungkan lebih banyak orang membuat mereka menderita juga: P) dapat:
Dengan cara ini Anda mengabaikan segalanya, tetapi mengecualikan apa yang ingin Anda salin atau tambahkan hanya dari "daftar abaikan".
Ini adalah jawaban yang terlambat tetapi menambahkan lebih banyak cara untuk melakukan hal yang sama bahkan mencakup lebih banyak kasus.
sumber
Anda bisa menggunakan COPY. Anda perlu menentukan direktori secara eksplisit. Itu tidak akan dibuat dengan sendirinya
Referensi: Referensi Docker CP
sumber