Vscode-remote-release: Default devcontainer.json does not appear to work with local Dockerfile creation

Created on 6 Jun 2020  路  4Comments  路  Source: microsoft/vscode-remote-release

  • VSCode Version: 1.45.1
  • Local OS Version: Ubuntu 18.04.4 LTS
  • Remote OS Version: debian:10-slim
  • Remote Extension/Connection Type: Docker

Steps to Reproduce:

  1. Add Development Container Configuration Files..
  2. From Dockerfile
  3. Reopen in Container
  • It successfully builds my image; as expected.
  • Then it tags it and inspects the image, okay sure.
  • Then it pulls it... Huh?!?
Successfully built 7a33ef3a55cc
Successfully tagged vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166:latest
[814 ms] Start: Run: docker inspect --type image vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166
[996 ms] Start: Run: docker pull vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166
Using default tag: latest
Error response from daemon: pull access denied for vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
[1940 ms] Command failed: docker pull vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166

But of course the repository does not exist.This image was just built locally and has never been pushed _(which I do not want it to be)_. So why is it trying to pull it?

Is this a bug in a script, or is this a bug in a bad configuration file?

If it is the latter, I mostly stuck with the defaults. I only modified runArgs and mounts, both of which should only affect container execution and not the building or image manipulation steps in any way.

devcontainer.json

// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.117.1/containers/docker-existing-dockerfile
{
    "name": "Existing Dockerfile",

    // Sets the run context to one level up instead of the .devcontainer folder.
    "context": "..",

    // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
    "dockerFile": "../Dockerfile",

    // Set *default* container specific settings.json values on container create.
    "settings": {
        "terminal.integrated.shell.linux": null
    },

    // Add the IDs of extensions you want installed when the container is created.
    //"extensions": []

    // Use 'forwardPorts' to make a list of ports inside the container available locally.
    // "forwardPorts": [],

    // Uncomment the next line to run commands after the container is created - for example installing git.
    // "postCreateCommand": "apt-get update && apt-get install -y git",

    // Uncomment when using a ptrace-based debugger like C++, Go, and Rust
    "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],

    // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-in-docker.
    "mounts": [ "source=${workspaceFolder},target=/build/,type=bind" ],

    // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
    // "remoteUser": "vscode"
}
bug containers verified

All 4 comments

Background:

I've already built a container as a development environment to support the opensource example code for a tutorial/project I worked on. Now, I'm trying to add remote development files to my existing project, to integrate the project with VSCode.

Project: https://www.hackster.io/zachary_fields/facial-recognition-using-xbox-kinect-and-opencv-3e7ac2
GitHub: https://github.com/zfields/kinect-opencv-face-detect/
DockerHub: https://hub.docker.com/r/zfields/kinect-opencv-face-detect

I pasted my devcontainer.json into the issue, so you should have everything you need to reproduce this issue.

Clearly a bug. I think it is triggered by docker inspect --type image vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166 somehow failing. Can you run that in a terminal to see what it does?

$ docker inspect --type image vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166
[
    {
        "Id": "sha256:7a33ef3a55cca0b11eadfc06a37771492ef2c8ebbc403f459f0d5a5e3679ec2c",
        "RepoTags": [
            "kinect-opencv-face-detect:latest",
            "vsc-kinect-opencv-face-detect-b6311e4ceda974800177e6740e42c166:latest",
            "zfields/kinect-opencv-face-detect:latest"
        ],
        "RepoDigests": [
            "zfields/kinect-opencv-face-detect@sha256:1b468e2c426dfda86ce5cf5721e865305bfdf7d481f55d3f8dda83bf74df9d38"
        ],
        "Parent": "sha256:ea6438395caf980b3005bad3beb2cf4fe2eed7d712609a29c7c4d4fb2700c53b",
        "Comment": "",
        "Created": "2020-05-28T11:30:29.677242001Z",
        "Container": "a6d5ee122327eec8b656536bc5555736d33a248792f48fc6a6024d500ca2a3cd",
        "ContainerConfig": {
            "Hostname": "a6d5ee122327",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LD_LIBRARY_PATH=/usr/local/lib"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/build/head_hunter\" \"0\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:ea6438395caf980b3005bad3beb2cf4fe2eed7d712609a29c7c4d4fb2700c53b",
            "Volumes": null,
            "WorkingDir": "/build",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.09.9",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LD_LIBRARY_PATH=/usr/local/lib"
            ],
            "Cmd": [
                "/build/head_hunter",
                "0"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:ea6438395caf980b3005bad3beb2cf4fe2eed7d712609a29c7c4d4fb2700c53b",
            "Volumes": null,
            "WorkingDir": "/build",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 2131595616,
        "VirtualSize": 2131595616,
        "GraphDriver": {
            "Data": null,
            "Name": "aufs"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:ffc9b21953f4cd7956cdf532a5db04ff0a2daa7475ad796f1bad58cfbaf77a07",
                "sha256:38e42e3477eeb1c579f22bd7444df09e3d32087ef6da633ecdfd40b805ab98df",
                "sha256:674890c6e9bc5a7984cb08d1d98933363e4fb54548347f5ec566ed59f81c6b8f",
                "sha256:4165b5aae9871e948810c787833c73def15e2e952fbca677e8cbb42c5fb18b57",
                "sha256:1052ecebf7474240affebeb851309074d2f0fa9037b9e65038821ea8918753a7",
                "sha256:a9bcd8ea8212cc1e5edbcb3abb6f68ce1be8422be4ab98d76fc1c23c7140e2cd",
                "sha256:0c4fa33b636eff15808d6c2c1752e5d865838e9dcb0e1ccbfe1927ab1442b8e5",
                "sha256:8b1bb7509d99d644ea8cf9d204884493beeee6b413e8433aa799bc884f5babe9",
                "sha256:b74604ba149f3472d6827016409b25a9e22b7ce6a52f40d6a79601cf0cd29e5c",
                "sha256:d6098f00d7a0d75273492096d50a423ec477d9be1295885d33a7d0ee5e6e30fa",
                "sha256:86a51bf6db9112e239be1d1dab97afaf782917043235c068f6a322cccfe469a4",
                "sha256:3471893b0c09678d29f7d373b0c0564e0fd259795e8b1586baac3e0f0984932e",
                "sha256:0cbefe75d742846b95d8150fd01143bb21f46bd582f70ca2053c64663e6b1474",
                "sha256:818805140fa332fc5ecefe6dcf24274cbfa24bcceff7265a77293a44af5e9947",
                "sha256:1a00d0e57456a96c9c9f026f3766397ef8d3e77e3fd1abe9c0f0a1a532e869ee",
                "sha256:6c5610c68e02bc0afe1cbdadedbf986adfc3b4f4032d38ff941188e18e7084b4",
                "sha256:6b920a2d979f75e3935100e405be8328c2b18d2c7733eacbe9fd78cceb8e639f",
                "sha256:5ec557d0c831b2400a8eb30705d59dafceb549642d21321a4eedea8f8c2861d7",
                "sha256:0729c132a6bdf2c5eae0769e1b0224a31b7cbc550369f92fe4765470b0dd2a81"
            ]
        },
        "Metadata": {
            "LastTagTime": "2020-06-08T12:46:47.517948815-05:00"
        }
    }
]

Looks fine, I'll fix the docker pull issue, that should then surface the original error.

Was this page helpful?
0 / 5 - 0 ratings