Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update base-image #12

Open
JohannesWiesner opened this issue Jan 12, 2023 · 5 comments
Open

Update base-image #12

JohannesWiesner opened this issue Jan 12, 2023 · 5 comments

Comments

@JohannesWiesner
Copy link
Owner

Would be more nice to have a newer base-image but we run into troubles with images like debian-bookworm or newer versions of neurdebian (either we are not being able to install packages with neurodocker using arguments like --fsl version=6.0.4, or we are stuck in user surveys where we cannot set "yes" or "no"). See also these comments.

@JohannesWiesner
Copy link
Owner Author

Is the user-survey bug already reported to the neurodocker folks? @Engrammae

@JohannesWiesner
Copy link
Owner Author

See within code-comment (that I deleted to put it here):

  • baseimage: apparantly different options like spm12, afni, and fsl do not run under debian bookworm, thus stretch as base
  • when installing packages with apt-get in neurodebian, the user is asked whether to take part in a package usage survey, which interferes with the
    build, thus we set "DEBIAN_FRONTEND='noninteractive'"

@JohannesWiesner
Copy link
Owner Author

With e2b0b91 I replaced --arg DEBIAN_FRONTEND='noninteractive' with the
--yes flag ("reply yes to all prompt questions"). I am not sure what happens if we switch to other base-images and/or add more software-Packages. I guess for now, we just have to try out which combinations of base-images and software-packages lead to "stuck" building processes (e.g. the survey question that happens with FSL) and if it can be solved with --yes or --arg DEBIAN_FRONTEND='noninteractive' (--yes should be the recommended way of handling with this issues because it is an offical option of neurodocker. Actually, the --yes flag could even write ARG DEBIAN_FRONTEND=noninteractive to the Dockerfile, the question is only what happens if the base-image is not a Debian derivate?)

@JohannesWiesner
Copy link
Owner Author

Just discovered that the --yes flag actually doesn't seem to do anything? I ran this script with and without it and it doesn't actually seem to have an effect on the Dockerfile?:

# function to create a dockerfile
generate_docker() {
    docker run -i --rm repronim/neurodocker:0.9.4 generate docker \
        --base-image neurodebian:stretch-non-free \
        --yes \
        --pkg-manager apt \
        --install opts="--quiet" \
            gcc \
            g++ \
            octave \
        --spm12 \
            version=r7771 \
        --freesurfer \
            version=7.1.1 \
        --copy $conda_yml_file /tmp/ \
        --miniconda \
            version=latest \
            yaml_file=/tmp/$conda_yml_file \
            env_name=csp \
        --user csp \
        --run 'mkdir /home/csp/data && chmod 777 /home/csp/data && chmod a+s /home/csp/data' \
        --run 'mkdir /home/csp/output && chmod 777 /home/csp/output && chmod a+s /home/csp/output' \
        --run 'mkdir /home/csp/code && chmod 777 /home/csp/code && chmod a+s /home/csp/code' \
        --run 'mkdir /home/csp/.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > home/csp/.jupyter/jupyter_notebook_config.py' \
        --workdir /home/csp/code \
        --run 'echo source activate csp >> /home/csp/.bashrc'
}

@JohannesWiesner
Copy link
Owner Author

Apparently, I thought --yes would have the same functionality as --arg DEBIAN_FRONTEND='noninteractive' which is not the case. Error should be reproducible when adding FSL again in the script above (we should probably end up with this user survey question again and get stuck in the building process).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant