Question on run_dev.sh and InvalidDefaultArgInFrom: Default value for ARG ${BASE_IMAGE} results in empty or invalid base image name (line 2)

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)

What am I doing wrong? Thanks!

Hi @brbl

Thank you for your post.

Please change BASE_IMAGE as below. The warning shall be gone.

ARG BASE_IMAGE=ubuntu:22.04

Let me know.

Best,
Ahung

I have the same issue.

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

Is this not the case?

Hi @martin.johansen

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.

Best,
Ahung