2016-05-11 17 views
16

Ho una riga di comando molto lunga per il processo predefinito a causa di un numero di argomenti. Penso che il modo più semplice sarebbe quello di creare uno script (ad esempio run.sh) e quindi chiamare questo script nel tuo ENTRYPOINT o CMD. Mi chiedo se c'è un modo per rendere la tua multilinea ENTRYPOINT o CMD (il modo in cui scriviamo RUN). Per es.Docker multilinea CMD o ENTRYPOINT

ENTRYPOINT["/path/myprocess", 
      "arg1", 
      "arg2" ] 

Stavo pensando che questa è una sintassi valida poiché il formato è json. Tuttavia, docker build genera l'errore

Step 14 : ENTRYPOINT[ 
Unknown instruction: ENTRYPOINT[ 

C'è un modo per dividere il ENTRYPOINT a più righe?

+2

Il mio errore. Ho perso uno spazio tra 'ENTRYPOINT' e' ['. Ho trovato che dockerfile supporta multilinea 'ENTRYPOINT' e' CMD' terminando la riga con '\'; come 'RUN'. – donnie

+0

Aggiungi la risposta e accettala quindi :) – L0j1k

risposta

21

Si è verificato un errore di battitura nel file Docker. Ho perso uno space tra ENTRYPOINT e [. Dockerfile supporta multilinea ENTRYPOINT e CMD terminando la linea con \, uguale a RUN. Quindi, nel mio caso può essere

ENTRYPOINT [ "/path/myprocess", \ 
      "arg1",   \ 
      "arg2"    \ 
] 
Problemi correlati