Docker和DockerFile构建
我是一个Docker初学者,我在Dockerfile构建方面遇到了一些问题。还有很多问题 我必须在path/var/lib/docker/builder中启动命令build吗? 我如何知道它不会生成,因为我的Dockerfile写得不正确? 我必须调用我的文件夹Dockerfile吗Docker和DockerFile构建,docker,build,dockerfile,Docker,Build,Dockerfile,我是一个Docker初学者,我在Dockerfile构建方面遇到了一些问题。还有很多问题 我必须在path/var/lib/docker/builder中启动命令build吗? 我如何知道它不会生成,因为我的Dockerfile写得不正确? 我必须调用我的文件夹Dockerfile吗 docker构建-t dokcerfile/xdebugphp. 比我得到的还多 来自守护程序的错误响应:读取Dockerfile时出现意外错误:读取lstat/var/lib/docker/builder/Dok
docker构建-t dokcerfile/xdebugphp.
比我得到的还多
来自守护程序的错误响应:读取Dockerfile时出现意外错误:读取lstat/var/lib/docker/builder/Dokcerfile:没有此类文件或目录
与
Get Content Dockerfile | docker build-
来自守护程序的错误响应:Dockerfile(Dockerfile)不能为空 此外,对于Docker build命令,您需要位于Docker文件所在的目录中,或者指定Docker文件的路径 所以在dockerfile所在的目录中
docker build-t IMAGENAMEHERE.
所以我用这个命令解决了这个问题
docker build -t imagename -f Dockerfile/xdebugphp .
您可以从任何目录启动
docker build
。如果您试图将文件复制到您命名的目录中不存在的映像中,您将看到一条错误消息,该消息引用了/var/lib/docker
,但这是docker构建实现的产物。(事实上,您根本不应该查看内部或尝试直接使用/var/lib/docker
目录。)
包含生成指令的文件通常命名为Dockerfile
(在具有区分大小写的文件系统的系统上,使用大写字母D
且无扩展名)。它通常位于源存储库的根目录下。这不应该是一个目录
docker build-t
选项为生成的图像指定一个标记(名称)。它不必与磁盘上的文件相对应。如果您正在使用Docker Hub存储图像(或只是想模拟其命名),则这些图像的格式为username/imagename:version
;如果您使用的是其他Docker图像注册表,则有一种扩展格式
您可以将Dockerfile命名为其他名称;如果这样做,则需要docker build-f
选项来引用该文件。如果它位于存储库根目录的子目录中,那么重要的细节是COPY
语句从作为目录参数传递给docker build的“context”目录复制;这可能与包含Dockerfile的目录不同。例如,如果您的Dockerfile具有COPY index.php.
,并且您运行docker build-f docker/xdebugphp.
,则该文件将从当前目录(Dockerfile的父目录)复制