【发布时间】:2021-11-03 17:27:18
【问题描述】:
我有一个用例来获取 Dockerfile 中的主机 IP 并将其保存为 ENV 值,但我无法成功实现这一点。任何帮助表示赞赏。
下面是我的示例 Dockerfile
FROM maven:3.6.3-openjdk-11
ENV IP=${"`ip -4 route show default | cut -d\" \" -f3`"}
RUN echo $IP
【问题讨论】:
-
你的意思是主机的IP?
-
@alexey R. 是的.. 上面的命令给出了主机 ip..我在 Linux 中理解,它总是 172.17.0.1.. 但我不想硬编码它..跨度>
-
不,这并不总是您的想法。主机可能(并且通常确实)有多个 IP。 127.x.x.x 是一个环回 IP 范围,但也有分配给网络接口的 IP,例如 WiFi 和以太网适配器。
-
好的,同意,这也是不硬编码的原因,因为正如你所说,它可能会改变。我想将 IP 设置为 Dockerfile 的 ENV。
-
您能否添加更多关于您的试用结果的详细信息?您是否像展示的那样构建了图像,并且当您在容器中时看不到该设置环境?
标签: java docker maven dockerfile ip