我想从本地计算机上的现有图像构建新图像。这就是我的上下文。 neo4j 是我正在使用的数据库/图像。
neo4j
|-data
|-plugins
|-Dockerfile
我Dockerfile
的内容如下所示
FROM "C:\neo4j"
当我docker build .
时,我得到以下内容:
$ docker build .
Sending build context to Docker daemon 435.2 MB
Step 1 : FROM "C:\neo4j"
Error parsing reference: "\"C:\\neo4j\"" is not a valid repository/tag
如何正确指定 FROM 值为本地图像而不是Docker Hub注册表?
答案 0 :(得分:1)
FROM
要求映像位于注册表(公共或私有)或docker主机的本地缓存中。
但是,您可以指定FROM: scratch
执行它所说的内容;它不会依赖任何其他基本图像。容器只包含Dockerfile列出的内容。
此外,您无法引用Dockerfile所在的当前目录之外的文件。这是因为包含Dockerfile的整个目录被复制到Docker文件中,并在那里构建。创建.dockerignore
文件以列出构建图像所不需要的内容。它会加速建筑物,因为它们不会被复制到主机进行构建步骤。