Skip to content
This repository was archived by the owner on Nov 30, 2023. It is now read-only.
This repository was archived by the owner on Nov 30, 2023. It is now read-only.

No space left on device error #128

@naefl

Description

@naefl

Hi all. When trying to build my docker image, I get the following error:

Error response from daemon: Error processing tar file(exit status 1): write /src/models/<path_to_model.pkl>: no space left on device

Despite having 600GB free space. Funnily enough, 30mins ago I rebuilt without issue and without change in the meantime. This error message doesn't really tell me anything. Also problem persists across different base images (Miniconda, RDKit, etc.).

  • VSCode Version: Latest insider release
  • Local OS Version: MacOS 10.15 Catalina
  • Name of Dev Container Definition with Issue: Miniconda

Dockerfile:


#-------------------------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
#-------------------------------------------------------------------------------------------------------------

FROM mcs07/rdkit:latest

# Avoid warnings by switching to noninteractive

# This Dockerfile adds a non-root 'vscode' user with sudo access. However, for Linux,
# this user's GID/UID must match your local user UID/GID to avoid permission issues
# with bind mounts. Update USER_UID / USER_GID if yours is not 1000. See
# https://aka.ms/vscode-remote/containers/non-root-user for details.
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Copy environment.yml (if found) to a temp locaition so we update the environment. Also
# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists.
COPY environment.yml* .devcontainer/noop.txt /tmp/conda-tmp/

# Configure apt and install packages
RUN apt-get update \
    && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \
    #
    # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed
    && apt-get install -y\
        git\
        wget \
        tmux \
        vim \
        zsh \
        iproute2 \
        procps \
        iproute2\
        lsb-release\
        curl \
        exuberant-ctags \
    && curl -L http://install.ohmyz.sh | sh || true \
    && conda config --add channels conda-forge\
    # Install pylint
    && /opt/conda/bin/pip install pylint \
    #
    # Update Python environment based on environment.yml (if presenet)
    && if [ -f "/tmp/conda-tmp/environment.yml" ]; then /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \
    && rm -rf /tmp/conda-tmp \
    #
    # Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user.
    && groupadd --gid $USER_GID $USERNAME \
    && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \
    # [Optional] Add sudo support for the non-root user
    && apt-get install -y sudo \
    && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\
    && chmod 0440 /etc/sudoers.d/$USERNAME \
    #
    # Clean up
    && apt-get autoremove -y \
    && apt-get clean -y \
    && rm -rf /var/lib/apt/lists/*

# Switch back to dialog for any ad-hoc use of apt-get
ENV DEBIAN_FRONTEND=

devcontainer.json

{
	"name": "Python 3 - Miniconda",
	"context": "..",
	"dockerFile": "Dockerfile",

	// Use 'settings' to set *default* container specific settings.json values on container create.
	// You can edit these settings after create using File > Preferences > Settings > Remote.
	"settings": {
		"terminal.integrated.shell.linux": "/bin/zsh",
		"python.pythonPath": "/opt/conda/bin/python",
		"python.linting.enabled": true,
		"python.linting.pylintEnabled": true,
		"python.linting.pylintPath": "/opt/conda/bin/pylint"
	},

	// Uncomment the next line if you want to publish any ports.
	// "appPort": [],

	// Uncomment the next line to run commands after the container is created.
	// "postCreateCommand": "python --version",

	// Uncomment the next line to use a non-root user. On Linux, this will prevent
	// new files getting created as root, but you may need to update the USER_UID
	// and USER_GID in .devcontainer/Dockerfile to match your user if not 1000.
	// "runArgs": [ "-u", "vscode" ],

	// Add the IDs of extensions you want installed when the container is created in the array below.
	"extensions": [
		"ms-python.python",
		"mechatroner.rainbow-csv",
		"RandomFractalsInc.vscode-data-preview",
		"patbenatar.advanced-new-file"
	]
}

environment.yml

dependencies:
  - jupyter
  - numpy
  - matplotlib
  - pandas
  - rdkit
  - scikit-learn
  - flask
  - waitress

Any help is highly appreciated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions