为什么我在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。