docker - 构建参数不从 docker-compoes.yml 传递到 Dockerfile
问题描述
我的 docker-compose.yml:
version: "3.8"
services:
web:
build:
context: .
args:
file_url: 'some-url'
我的 Dockerfile:
FROM ruby:2.7.4-bullseye
ARG file_url
RUN curl $file_url -L -o "file"
当我运行时:
docker-compose up --build
我希望 Docker 会构建并启动我的容器。但相反,我得到了:
Step 4/12 : RUN curl $file_url -L -o "file"
---> Running in 59696c6274c7
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
所以很明显构建参数没有传递给 Dockerfile。我在 Stackoverflow 上阅读了很多类似的主题,但无法弄清楚出了什么问题。
还有一件事。我实际上可以docker-compose build web
很好地构建容器。只是在我运行docker-compose up --build
或docker-compose up
发生错误时。
解决方案
该变量未在您的 dockerfile 中正确传递。在 dockerfile 中查看变量调用:https ://docs.docker.com/engine/reference/builder/
理想情况下,它包含在里面${variable_name}
。这条线RUN curl $file_url -L -o "file
需要整改。
在您的 Dockerfile 更改$file_url
为${file_url}
推荐阅读
- android - Firebase Firestore 依赖项配置问题
- excel - 将列值添加到组合框,但如何跳过重复项?
- java - 在 Freemarker 中转换 Thymeleaf “th:field”
- ms-access - 访问:同一数据库上的 2 个不同角色的角色
- python - 在 python 中获取“__init__() 得到了一个意外的关键字参数'document'”这个错误我正在使用 Word2Vec 和 gensim
- python-2.7 - Python 请求 - 多部分发送 POST 表单数据
- c++ - Qt & OpenGL:纹理透明度
- javascript - AngularJS:将类分配给dom元素
- python - 带有字典的嵌套列表中的 Python 元素
- android - /FIXED\ Android - TextView 不显示在另一个 TextView 下方