De hecho ADD go /usr/local/
agregará el contenido de la go
carpeta y no la carpeta en sí, puede usar la solución Thomasleveil o si eso no funcionó por alguna razón, puede cambiar WORKDIR
para /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 go
así:
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.
ADD
capa para cada directorio de origen)?