gpt4 book ai didi

linux - 为什么当 docker 镜像有体积时我不能触摸文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:06 25 4
gpt4 key购买 nike

我有一个像这样的 mybase:latest 图像:

  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

我注意到这个问题:Building Dockerfile fails when touching a file after a mkdir

但是它并没有像它所说的那样解决我的问题:
您只能在容器运行时在那里创建文件

我认为在 Docker 创建该容器期间,mkdir -p/var/test && touch/var/test/test.txt 在所有卷准备就绪后执行,因此它应该可以工作。

忧虑我的念头在哪里?

最佳答案

也许 && 部分与为容器创建的部分不在同一个 shell 中。 (但实际上是您键入 docker run 命令的 shell)

尝试:

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

至少,&& 部分适用于 mkdir 命令的 shell。

关于linux - 为什么当 docker 镜像有体积时我不能触摸文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com