为什么我在docker图像有音量时无法触摸文件?

我有一个mybase:像这样的最新形象:

FROM ubuntu:latest VOLUME /var 

然后,我在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 

我注意到这个问题: 在mkdir之后触摸文件时,构buildDockerfile失败

但它并没有解决我的问题,因为它说: You can only create files there while the container is running

我觉得在Docker创build容器时,在所有的卷都准备好之后执行mkdir -p /var/test && touch /var/test/test.txt ,所以它应该可以工作。

哪里担心我的想法?

也许&&部分不在为容器创build的shell中。 (但实际上是你inputdocker run命令的shell)

尝试:

 docker run -it mybase:latest sh -c 'mkdir -p /var/test && touch /var/test/test.txt' 

至less这样, &&部分适用于mkdir命令的shell。