我一直在尝试为客户端构建一个名为Crowd的应用程序,但是我的Docker体验并不好。
现在,如果我运行docker run -d -p 8095:8095 --name crowd blacklabelops/crowd
它运行了,我没问题,但是如果复制并粘贴他们的Dockerfile
我收到一条错误消息,告诉我 splash.xml 不存在。我的理解是,Dockerfile中的ADD
命令将文件从源文件复制到容器中。但是显然我没有那些文件,因为我只是在运行Dockerfile。
因此,如果docker run
命令基于该Dockerfile运行,那么Dockerfile将如何作为独立的文件运行?请帮助我理解。非常感谢。
答案 0 :(得分:2)
Dockerfile
包含有关如何构建映像的说明。请注意,在许多情况下,这些说明包括将文件复制(添加)到内置映像中。docker run
运行完整的内置映像。如果您希望从Dockerfile
源进行构建,则应该克隆/下载整个存储库,然后在本地docker build
进行克隆。