Ho un mybase: ultima image come questa:
FROM ubuntu:latest VOLUME /var
Poi ho riscontrato un errore durante l' docker run
:
docker run -it mybase:latest mkdir -p /var/test && touch /var/test/test.txt touch: cannot touch '/var/test/test.txt': No such file or directory
Ho notato questa domanda: la costruzione di Dockerfile non riesce quando si tocca un file dopo un mkdir
Ma non ha risolto il mio problema come ha detto: You can only create files there while the container is running
Penso che quando Docker crea quel contenitore, mkdir -p /var/test && touch /var/test/test.txt
viene eseguito dopo che tutti i volumi sono pronti, quindi dovrebbe funzionare.
Dov'è preoccupato del mio pensiero?
Forse la parte &&
non è nella stessa shell di quella creata per il contenitore. (Ma è in realtà la shell in cui si digita il command di docker run
)
Provare:
docker run -it mybase:latest sh -c 'mkdir -p /var/test && touch /var/test/test.txt'
In questo modo, alless la parte &&
applica al shell del command mkdir
.