De hecho ADD go /usr/local/agregará el contenido de la gocarpeta y no la carpeta en sí, puede usar la solución Thomasleveil o si eso no funcionó por alguna razón, puede cambiar WORKDIRpara /usr/local/luego agregar su directorio como:
WORKDIR /usr/local/
COPY go go/
o
WORKDIR /usr/local/go
COPY go ./
Pero si desea agregar varias carpetas, será molesto agregarlas así, la única solución por ahora, como lo veo desde mi problema actual, es usar COPY . .y excluir todos los directorios y archivos no deseados .dockerignore, digamos que tengo carpetas y archivos :
- src
- tmp
- dist
- assets
- go
- justforfun
- node_modules
- scripts
- .dockerignore
- Dockerfile
- headache.lock
- package.json
y quiero agregar src assets package.json justforfun goasí:
en Dockerfile:
FROM galaxy:latest
WORKDIR /usr/local/
COPY . .
en el archivo .dockerignore:
node_modules
headache.lock
tmp
dist
O para más diversión (o si te gusta confundir a más personas y hacerlas sufrir también: P) puede ser:
*
!src
!assets
!go
!justforfun
!scripts
!package.json
De esta forma, ignora todo, pero excluye lo que desea copiar o agregar solo de la "lista de ignorados".
Es una respuesta tardía, pero agrega más formas de hacer lo mismo cubriendo incluso más casos.
ADDcapa para cada directorio de origen)?