Дійсно ADD go /usr/local/
додасть вміст в go
папку , а не саму папку, ви можете використовувати Thomasleveil рішення або якщо це не спрацювало з якої - то причини ви можете змінити , 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
Або для більш розваги (або ви хочете плутати більше людей, змушуючи їх також страждати: P) можна:
*
!src
!assets
!go
!justforfun
!scripts
!package.json
Таким чином ви ігноруєте все, але виключаєте те, що хочете скопіювати або додати лише зі "списку ігнорування".
Це пізня відповідь, але додавання більше способів зробити те саме, що охоплює ще більше випадків.
ADD
шару для кожного вихідного каталогу)?