我的 docker 文件有以下说明
CMD ["luarocks","install",luasocket"]
当我尝试构建图像时,它会成功构建,但luasocket
尚未全部安装在我的 docker 上。
但是当我在docker上的“”之后手动执行这个语句时sudo apt-get update
,一切都很顺利。
为什么在命令行上手动“更新”后正确执行。即使我的 docker 包含“ update
”命令,为什么在这种情况下它会失败?
但是当我在 docker 上的“sudo apt-get update”之后手动执行这个语句时,一切都很顺利
如果您sudo apt-get update
在容器会话中执行 a (即,在 a 之后docker run
),该命令所做的任何事情apt-get
都将在下一个docker run
(下一个容器)上重置。
如果命令需要成功完成,请确保RUN apt-get update
在 Dockerfile中包含 a。luarocks install luasocket
更一般地说,这个安装命令 ( luarocks install luasocket
) 不应该是一个CMD
,而是一个RUN
指令,以便将luasocket
.