我想在github上为Linkurious项目构建一个docker映像,它需要Neo4j数据库和node.js来运行。
我的第一个方法是为我的图像声明一个基图像,其中包含Neo4J。参考文档没有以任何有用的方式定义“基本图像”:
基图像:没有父图像的图像是基图像
从中我读到,我可能只有一个基本图像,如果该图像本身没有基本图像。
我很困惑...
截至2017年5月,可以在单个DockerFile中使用来自的多个。
参见“构建器模式与Docker中的多阶段构建”(Alex Ellis著)和Tónis Tiigi著PR 31257。
一般语法包括在Dockerfile中添加
from
附加次数--无论最后一个from
语句是最终的基本图像。要从中间图像复制工件和输出,请使用copy--from=
。
FROM golang:1.7.3 as builder
WORKDIR /go/src/github.com/alexellis/href-counter/
RUN go get -d -v golang.org/x/net/html
COPY app.go .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY --from=builder /go/src/github.com/alexellis/href-counter/app .
CMD ["./app"]
结果将是两个图像,一个用于构建,一个只用于结果应用程序(小得多)
REPOSITORY TAG IMAGE ID CREATED SIZE
multi latest bcbbf69a9b59 6 minutes ago 10.3MB
golang 1.7.3 ef15416724f6 4 months ago 672MB
什么是基本图像?
一组文件,加上
expose
'd端口、entrypoint
和cmd
。
您可以添加文件并基于该基本映像生成新映像,使用一个新的dockerfile
from
指令开始:from
后面提到的映像是新映像的“基本映像”。
这是否意味着,如果我在
from
指令中声明neo4j/neo4j
,当我的映像运行时,neo数据库将自动运行并在7474端口的容器中可用?
只有在不覆盖
的cmd
和entrypoint
.
的情况下,才可以使用图像本身:如果必须添加与neo4j
相关的文件,则可以使用来自neo4j/neo4j。
问题内容: 通过阅读Backbone.js源代码,我看到了以下内容: 什么啊 在这里使用它的目的是什么? 问题答案: 什么意思 [MDN]是带一个参数且始终返回的前缀关键字。 例子 有什么意义呢? 似乎很没用,不是吗?如果它总是返回,那么仅使用自身又有什么问题呢? 在理想的世界中,我们将能够安全地使用它:它比更加简单易懂。但是,如果您以前从未注意到过,这不是一个完美的世界,尤其是在涉及Javasc
我不知道问号(< code >?)在java里代表,我在做一个小程序,一个Nim-game。我们在一本书里寻求帮助,看到了这样一句话: 我不明白,表示,它可以与if语句有关但您将其放在变量中吗?并且可以是“其他”?(我刚才说的这些事情可能会很误导)
那么,在Java中,你们都用什么来处理它们呢?
问题内容: 我写Java已有一段时间了,今天我遇到了以下声明: 请注意数组声明中的“点点点”,而不是通常的括号[]。显然可以。实际上,我写了一个小测试并验证了它的有效性。因此,我提取了Java语法,以查看参数声明语法的位置,但未找到任何内容。 那么对那里的专家来说,这是如何工作的呢?它是语法的一部分吗?另外,虽然我可以像这样声明函数,但不能像这样在函数体内声明数组。 无论如何,您知道在哪里记录了此
但是得到了错误: