Docker CMD指令执行

Docker CMD指令执行,docker,apt-get,luarocks,Docker,Apt Get,Luarocks,我的docker文件有以下说明 CMD ["luarocks","install",luasocket"] 当我尝试构建映像时,它成功构建,但尚未在我的docker上安装所有的luasocket。 但当我在docker上的“sudo apt get update”之后手动执行此语句时,一切都很顺利 为什么在命令行上手动“更新”后正确执行。即使我的docker包含“update”命令,为什么在这种情况下它会失败 但当我在docker上“sudoaptgetupdate”之后手动执行此语句时,一切

我的docker文件有以下说明

CMD ["luarocks","install",luasocket"]
当我尝试构建映像时,它成功构建,但尚未在我的docker上安装所有的
luasocket

但当我在docker上的“
sudo apt get update
”之后手动执行此语句时,一切都很顺利

为什么在命令行上手动“更新”后正确执行。即使我的docker包含“
update
”命令,为什么在这种情况下它会失败

但当我在docker上“sudoaptgetupdate”之后手动执行此语句时,一切都很顺利

如果在容器会话中执行
sudo-apt-get-update
(即
docker-run
之后),则
apt-get
命令执行的任何操作都将在下一次
docker-run
(下一个容器)时重置

如果命令
luarocks install luasocket
需要成功完成,请确保在Dockerfile中包含
RUN apt get update

一般来说,此安装命令(
luarocks install luasocket
)不应是
CMD
,而是
RUN
指令,以便将
luasocket
的安装烘焙到映像中