Skip to content

Issue with hyphens in build args used in FROM #3

@sysadmiral

Description

@sysadmiral

Hi thanks for a great tool.

I'm taking the Dockerfile and devcontainer.json from here.

The ARG for setting the ${VARIANT} contains a dash which seems to create a problem with the passing of command-line args in this script.

Here is the error I get:

docker: invalid reference format: repository name must be lowercase.
See 'docker run --help'.

and the debug output is:

Using workspace -v
[DEBUG] CONFIG_DIR: ./.devcontainer
[DEBUG] CONFIG_FILE: devcontainer.json
[DEBUG] CONFIG: 
{
        "name": "Node.js",
        "build": {
                "dockerfile": "Dockerfile",
                "args": { "VARIANT": "16-bullseye" }
        },

        "customizations": {
                "vscode": {
                        "extensions": [
                                "dbaeumer.vscode-eslint"
                        ]
                }
        },



        "remoteUser": "node"
}
[DEBUG] DOCKER_FILE: /home/amo_chumber/scratch/devcontainer-test/.devcontainer/Dockerfile
[DEBUG] REMOTE_USER: node
[DEBUG] ARGS: --build-arg VARIANT="16-bullseye"
[DEBUG] SHELL: null
[DEBUG] PORTS: 
[DEBUG] ENVS: 
[DEBUG] WORK_DIR: /workspace
[DEBUG] MOUNT:  --mount type=bind,source=-v,target=/workspace
Building and starting container
invalid reference format
[DEBUG] DOCKER_IMAGE_HASH: Sending build context to Docker daemon  4.096kB
Step 1/2 : ARG VARIANT=16-bullseye
Step 2/2 : FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT}
docker: invalid reference format: repository name must be lowercase.
See 'docker run --help'.

I suspect this is a bash-ism with some quoting...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions