loft-sh / devpod-provider-dockerless

Devpod without Docker/Podman
Mozilla Public License 2.0
8 stars 0 forks source link

[Bug] Provider does not work with Dockerfile to build devcontainer #6

Open theurichde opened 10 months ago

theurichde commented 10 months ago

Hi there 👋🏻

I was trying out the provider just now and realized, that it works fine for devcontainers with pre-build images, but not for ones where we want to build the devcontainer from scratch with a custom Dockerfile.

Output

$ devpod-cli up --provider=dockerless . --debug
22:04:20 debug Acquire workspace lock...
22:04:20 debug Acquired workspace lock...
22:04:20 info Creating devcontainer...
22:04:20 debug Inject and run command: '/home/tim.heurich/.local/bin/devpod-cli' helper ssh-server --stdio --debug
22:04:20 debug Attempting to create SSH client
22:04:20 debug Execute command locally
22:04:20 debug SSH client created
22:04:20 debug SSH session created
22:04:20 info Execute SSH server command: zsh -c '/home/tim.heurich/.local/bin/devpod-cli' agent workspace up --workspace-info '[...] --debug
22:04:20 info Use /home/tim.heurich/.devpod/agent/contexts/default/workspaces/publish-techdocs-action as workspace dir
22:04:20 debug Created logger
22:04:20 debug Received ping from agent
22:04:20 debug Workspace Folder already exists
22:04:20 debug Run findDevContainer driver command: ${DOCKERLESS_PROVIDER} find
22:04:20 info container publish-te-68ec8 does not exist
22:04:20 debug Run getTargetArchitecture driver command: ${DOCKERLESS_PROVIDER} target-architecture
22:04:20 debug Prebuild hash from:
22:04:20 debug Arch: amd64
22:04:20 debug Config: {"name":"Base Workspace","build":{"dockerfile":"Dockerfile"}}
22:04:20 debug DockerfileContent: FROM mcr.microsoft.com/devcontainers/typescript-node:20 AS dev_container_auto_added_stage_label
#
#RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
#    && apt-get -y install chromium \
#    && apt-get -y install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
#
22:04:20 debug ContextHash: 81f51edf9be65bd97c8feea5e873097566086a920d5e95170d6fc038e8796186
22:04:20 debug Try to find prebuild image devpod-4431cd22053d04aa5e02caf3e6a25d98 in repositories
22:04:20 debug Run runDevContainer driver command: ${DOCKERLESS_PROVIDER} run
22:04:20 info downloading ghcr.io/loft-sh/dockerless:0.1.4
22:04:20 info image ghcr.io/loft-sh/dockerless:0.1.4 already found
22:04:20 info preparing container rootfs
22:04:20 info unpacking layer 1 of 6
22:04:20 info unpacking layer 2 of 6
22:04:20 info unpacking layer 3 of 6
22:04:20 info unpacking layer 4 of 6
22:04:21 info unpacking layer 5 of 6
22:04:21 info unpacking layer 6 of 6
22:04:21 info done
22:04:21 info preparing runoptions
22:04:21 info done
22:04:21 info container publish-te-68ec8 is not running, starting
22:04:21 info retrieving runOptions
22:04:21 info starting the container
22:04:21 info executing helper command: rootlesskit --pidns --cgroupns --utsns --ipcns --state-dir /tmp/dockerless/publish-te-68ec8 --net slirp4netns --port-driver slirp4netns --disable-host-loopback --copy-up /etc /home/tim.heurich/.devpod/agent/contexts/default/workspaces/publish-techdocs-action/binaries/dockerless_provider/devpod-provider-dockerless-linux-amd64 enter cHVibGlzaC10ZS02OGVjOA==
22:04:21 debug Run findDevContainer driver command: ${DOCKERLESS_PROVIDER} find
22:04:21 debug execute inject script
22:04:21 debug Run commandDevContainer driver command: ${DOCKERLESS_PROVIDER} command
22:04:21 debug done exec
22:04:21 debug done injecting
22:04:21 debug done inject
22:04:21 debug Inject Error: container publish-te-68ec8 is not running

EOF
22:04:24 debug execute inject script
22:04:24 debug Run commandDevContainer driver command: ${DOCKERLESS_PROVIDER} command
22:04:24 debug done exec
22:04:24 debug done inject
22:04:24 debug done injecting
22:04:24 debug Inject Error: container publish-te-68ec8 is not running

Dockerfile

FROM mcr.microsoft.com/devcontainers/typescript-node:20

.devcontainer.json

{
    "name": "Base Workspace",
    "build": {
        "dockerfile": "Dockerfile"
    }
}
pascalbreuninger commented 10 months ago

@theurichde Thanks for reporting the issue, we'll look into it