Docker 和 Docker 文件构建

Docker and DockerFile build

我是 Docker 初学者,我在 Docker 文件构建方面遇到了一些问题..还有很多问题

我是否必须在路径 /var/lib/docker/builder 中启动命令构建? 我怎么知道它没有构建是因为我的 Docker 文件写入不正确? 我必须调用我的文件夹 Docker 文件吗?

docker build -t dokcerfile/xdebugphp .

比我得到的 Error response from daemon: unexpected error reading Dockerfile: read lstat /var/lib/docker/builder/Dokcerfile: no such file or directory

Get-Content Dockerfile | docker build -

Error response from daemon: the Dockerfile (Dockerfile) cannot be empty

看起来像行尾,尝试将 dockerfile 行尾更改为 LF

另外,对于 Docker 构建命令,您需要位于 dockerfile 所在的目录中或指定 dockerfile 的路径

所以在dockerfile所在的目录下command是 docker build -t IMAGENAMEHERE .

所以我用这个命令解决了

docker build -t imagename -f Dockerfile/xdebugphp .

您可以从任何目录启动 docker build。如果您尝试将文件 COPY 放入您命名的目录中不存在的图像中,您将看到一条引用 /var/lib/docker 的错误消息,但这是 Docker 的产物构建实施。 (事实上​​ ,您根本不应该查看或尝试直接使用 /var/lib/docker 目录。)

包含构建指令的文件通常命名为Dockerfile(在具有case-sensitive文件系统的系统上,大写D并且没有延期)。它通常位于源存储库的根目录中。这不应该是目录。

docker build -t 选项为构建的图像分配一个标签(名称)。它不必对应于磁盘上的文件。如果您使用 Docker Hub 来存储您的图像(或者只是想模仿它的命名),它们的格式为 username/imagename:version;如果您使用其他 Docker 图像注册表,则有扩展格式。

您可以将 Docker 文件命名为其他名称;如果这样做,则需要 docker build -f 选项来引用该文件。如果它在存储库根目录的子目录中,重要的细节是 COPY 语句从您作为目录参数传递给 docker build 的“上下文”目录复制;这可能与包含 Docker 文件的目录不同。例如,如果您的 Docker 文件有 COPY index.php .,而您 运行 docker build -f docker/xdebugphp .,则文件是从 . 当前目录复制的,该目录是父目录Docker 文件。