我正在尝试使用 sed 将 nginx.conf 中的文本“localhost”替换为我的 docker 主机的 IP 地址(仅供参考。在本地使用 docker 机器,它在 192.168.99.100 上运行 docker)。
我的 nginx Dockerfile 如下所示:
FROM nginx:alpine
ARG DOCKER_HOST
COPY ./nginx.conf /etc/nginx/nginx.conf
RUN sed -i 's/localhost/${DOCKER_HOST}/g' /etc/nginx/nginx.conf
EXPOSE 80
Run Code Online (Sandbox Code Playgroud)
我的 nginx.conf 文件看起来像这样(注意:为简单起见,删除了多数)
http {
sendfile on;
upstream epd {
server localhost:8080;
}
# ...
}
Run Code Online (Sandbox Code Playgroud)
我期待“localhost”被替换为“192.168.99.100”,但它实际上被替换为“${DOCKER_HOST}”。这会导致错误
在上游“${DOCKER_HOST}:8080”中找不到主机
我已经尝试了一些其他的东西,但我似乎无法让这个工作。我可以确认 DOCKER_HOST 构建参数正在通过我的 docker compose 脚本进入 Dockerfile,因为我可以回应这一点。
非常感谢您的任何答复...
| 归档时间: |
|
| 查看次数: |
11769 次 |
| 最近记录: |