我的泊坞窗文件包含以下说明
CMD ["luarocks","install",luasocket"]
当我尝试构建图片时,它已成功构建,但我的docker上尚未安装luasocket
。
但是当我在" sudo apt-get update
"之后手动执行此语句时在码头上一切都很顺利。
为什么在"更新"之后正确执行?在命令行上手动。即使我的码头包含" update
"命令,为什么在这种情况下失败?
答案 0 :(得分:1)
但是当我在" sudo apt-get update"之后手动执行此语句时在码头工人身上,每件事情都很顺利
如果在容器会话中执行sudo apt-get update
(即,在docker run
之后),apt-get
命令执行的任何操作都将重置下一个docker run
(下一个容器)。
如果命令RUN apt-get update
需要成功完成,请确保在Dockerfile中包含luarocks install luasocket
。
更一般地说,此安装命令(luarocks install luasocket
)不应该是CMD
,而是RUN
指令,以便将luasocket
的安装烘焙到映像中。