docker - UUID 的默认 Docker 参数
问题描述
ARG
如果没有提供一个作为构建参数的唯一 ID,是否可以将其默认为新的唯一 ID?
如果没有提供构建参数,是否有可能在构建时失败?
解决方案
如果没有提供构建参数,是否有可能在构建时失败?
是的,但是你应该ARGS
在 Dockerfile 中设置任何默认值,或者如果设置默认值,那么你可以忽略条件中的默认值。
FROM alpine
ARG NODE_ENV
RUN if [ -z ${NODE_ENV} ];then \
echo "No value provided for build ARGS, please provide NODE_ENV, like --build-arg NODE_ENV=dev" \
exit 1; \
else \
echo "NODE_ENV is passed, value is ${NODE_ENV}"; \
fi
所以如果你尝试过
docker build --build-arg NODE_ENV=test -t test_arg .
它会建立形象,但如果你累了喜欢
docker build -t test_arg .
在这种情况下,构建将失败并打印一条消息以传递 NODE_ENV
推荐阅读
- angularjs - 在 angularjs 中安全地接受 html
- ruby - 如何在二维数组循环中创建计数器变量?
- google-cloud-platform - 为 Google GCE 创建启动脚本以创建代理服务器
- javascript - 如何在 html 文件中的 Node js 和 javascript 之间发送数据
- jquery - 如何防止滚动正文内容但允许在移动设备上滚动导航?
- javascript - 从内存中卸载视频,但不要从页面中删除它
- javascript - 如何创建一个正方形的订单号:数组中的数组、宾果卡和循环陷阱……
- docker - 大厅 ci 在哪里创建容器来运行任务?如何进入这些容器中的任何一个?
- python - cv2.calibrateCamera 成功后如何获得好的 cv2.stereoCalibrate
- ionic-framework - Ionic 3 图像未显示在设备上