I am creating a new layer (dockerfile.foundationpose), and my docker file is very simple (taking a baby step):
ARG BASE_IMAGE
FROM ${BASE_IMAGE}
and my config is very simple:
CONFIG_IMAGE_KEY=ros2_humble.foundationpose
CONFIG_DOCKER_SEARCH_DIRS=(/home/easybot/workspaces2/isaac_ros-dev/src …/isaac_ros-dev/src/isaac_ros_common/docker …/lib/src/gxf/docker)
BASE_DOCKER_REGISTRY_NAMES=(“nvcr.io/isaac/ros”)
when I run run_dev.sh, it builds the container but I am getting a warning:
InvalidDefaultArgInFrom: Default value for ARG ${BASE_IMAGE} results in empty or invalid base image name (line 2)
While this solution works, I was under the impression that the point of this configuration is that all Dockerfile’s defined in CONFIG_IMAGE_KEY should point to the previous image.
So that in the case presented, BASE_IMAGE in dockerfile.foundationpose should be ros2_humble.
As an extension of this, I would expect that another Dockerimage added in this configuration, i.e. Dockerfile.mine and thus CONFIG_IMAGE_KEY=ros2_humble.foundationpose.mine, would end up having BASE_IMAGE = ros2_humble.foundationpose
Your understanding is correct. It’s just a WAR to avoid the docker warning which is because BASE_IMAGE in dockerfile doens’t give the default value. The actual BASE_IMAGE is overridden via CLI based on CONFIG_IMAGE_KEY.