openbmc脚本解析之:build-rootfs-size-docker.sh

该脚本用于创建一个运行runrootfs_size.py的Docker镜像,变量包括Docker_IMG_NAME(镜像名,默认openbmc/ubuntu-rootfs-size)、DISTRO(Linux发行版,默认ubuntu:bionic)、UBUNTU_MIRROR(Ubuntu镜像地址)和http_proxy(HTTP代理)。在执行时遇到USER未定义和docker命令未找到的错误。可能原因是Dockerfile缺失或环境未正确配置。
摘要由CSDN通过智能技术生成

源代码地址:openbmc-build-scripts/build-rootfs-size-docker.sh at master · openbmc/openbmc-build-scripts · GitHub从脚本内容可以看出这是一个shell脚本,用于建立一个运行run rootfs_size.py的docker镜像,该脚本中的变量和含义如下表所示:

脚本变量/脚本含义
DOCKER_IMG_NAME可选,产生的镜像的名称,默认是openbmc/ubuntu-rootfs-size
DISTRO可选,建立docker镜像的linux发行版,默认值ubuntu:bionic
UBUNTU_MIRROR一个新的ubuntu镜像地址,将要覆盖/etc/apt/sources.list中原有的URL,默认为空
http_proxy要连接的代理服务器的http地址,默认为"",即不使用代理也不设置该值

该脚本根据需要安装的包等生成一个Dockerfile,来制作docker镜像

set -uo pipefail代码含义参考:

直接在openbmc/ubuntu-robot-qemu:latest的docker容器中运行该脚本可能会出现error:

./build-rootfs-size-docker.sh: line 89: USER: unbound variable
因此可以先导入:

export USER=fky

还报错:./build-rootfs-size-docker.sh: line 94: docker: command not found

第94行代码为:

docker build --network=host -t "${DOCKER_IMG_NAME}" - <<< "${Dockerfile}"

参考:What does --net=host option in Docker command really do? - Stack Overflow

未解决,报错的原因是Dockerfile不存在?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值