conda-incubator / conda-store

Data science environments, for collaboration. ✨
https://conda.store
BSD 3-Clause "New" or "Revised" License
145 stars 50 forks source link

Adding to docs about required docker-compose version #189

Closed costrouc closed 3 years ago

costrouc commented 3 years ago

Wierd errors are reported by using docker-compose v1.

peytondmurray commented 3 years ago

After freshly cloning the repo and running cd conda-store/examples/docker; docker-compose up --build I get the following:

[pdmurray@landau ~/Desktop/workspace/conda-store/examples/docker][main]$ docker-compose up --build
[+] Building 0.5s (26/30)                                                                                                                                                                                        
 => [docker_jupyterhub internal] load build definition from Dockerfile                                                                                                                                      0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                         0.0s
 => [docker_conda-store-server internal] load build definition from Dockerfile                                                                                                                              0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                         0.0s
 => [docker_conda-store-worker internal] load build definition from Dockerfile                                                                                                                              0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                         0.0s
 => [docker_jupyterhub internal] load .dockerignore                                                                                                                                                         0.0s
 => => transferring context: 2B                                                                                                                                                                             0.0s
 => [docker_conda-store-server internal] load .dockerignore                                                                                                                                                 0.0s
 => => transferring context: 2B                                                                                                                                                                             0.0s
 => [docker_conda-store-worker internal] load .dockerignore                                                                                                                                                 0.0s
 => => transferring context: 2B                                                                                                                                                                             0.0s
 => [docker_jupyterhub internal] load metadata for docker.io/condaforge/miniforge3:latest                                                                                                                   0.0s
 => [docker_jupyterhub internal] load build context                                                                                                                                                         0.0s
 => => transferring context: 4.69kB                                                                                                                                                                         0.0s
 => [docker_jupyterhub 1/8] FROM docker.io/condaforge/miniforge3                                                                                                                                            0.0s
 => CACHED [docker_jupyterhub 2/8] COPY environment.yaml /opt/conda-store/environment.yaml                                                                                                                  0.0s
 => CACHED [docker_jupyterhub 3/8] RUN conda env create -f /opt/conda-store/environment.yaml                                                                                                                0.0s
 => CACHED [docker_jupyterhub 4/8] COPY ./ /opt/conda-store/                                                                                                                                                0.0s
 => CACHED [docker_jupyterhub 5/8] RUN cd /opt/conda-store &&     pip install . &&     jupyter labextension install jupyterlab-launcher-shortcuts                                                           0.0s
 => CACHED [docker_jupyterhub 6/8] RUN git clone https://github.com/quansight/gator.git &&     cd gator &&     git checkout origin/list-installed-conda-store-packages &&     pip install . &&     yarn in  0.0s
 => CACHED [docker_jupyterhub 7/8] RUN mkdir -p /opt/jupyterhub &&     chown -R 1000:1000 /opt/jupyterhub                                                                                                   0.0s
 => CACHED [docker_jupyterhub 8/8] WORKDIR /opt/jupyterhub                                                                                                                                                  0.0s
 => [docker_conda-store-server] exporting to image                                                                                                                                                          0.0s
 => => exporting layers                                                                                                                                                                                     0.0s
 => => writing image sha256:e253c71d45826ed5424746f774d9a680b476e64c4e39dd8562def46802cd71a7                                                                                                                0.0s
 => => naming to docker.io/library/docker_jupyterhub                                                                                                                                                        0.0s
 => => writing image sha256:0f80c66d2115d5017b5ecc57bdc11916f8c9bc59c229599703974204dd2ec9d3                                                                                                                0.0s
 => => naming to docker.io/library/docker_conda-store-worker                                                                                                                                                0.0s
 => => naming to docker.io/library/docker_conda-store-server                                                                                                                                                0.0s
 => [docker_conda-store-server internal] load metadata for docker.io/condaforge/mambaforge:latest                                                                                                           0.0s
 => [docker_conda-store-server 1/6] FROM docker.io/condaforge/mambaforge                                                                                                                                    0.0s
 => [docker_conda-store-worker internal] load build context                                                                                                                                                 0.0s
 => => transferring context: 149.15kB                                                                                                                                                                       0.0s
 => [docker_conda-store-server internal] load build context                                                                                                                                                 0.0s
 => => transferring context: 2.60kB                                                                                                                                                                         0.0s
 => CACHED [docker_conda-store-worker 2/6] RUN apt-get update     && apt-get install -y libgl1-mesa-glx libegl1-mesa libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6     && apt-g  0.0s
 => CACHED [docker_conda-store-worker 3/6] COPY environment.yaml /opt/conda-store-server/environment.yaml                                                                                                   0.0s
 => CACHED [docker_conda-store-worker 4/6] RUN mamba env create -f /opt/conda-store-server/environment.yaml                                                                                                 0.0s
 => CACHED [docker_conda-store-worker 5/6] COPY ./ /opt/conda-store-server/                                                                                                                                 0.0s
 => CACHED [docker_conda-store-worker 6/6] RUN cd /opt/conda-store-server &&     /opt/conda/envs/conda-store-server/bin/pip install -e .                                                                    0.0s
[+] Running 0/0
 ⠋ Container docker-conda-store-worker-1  Creating                                                                                                                                                          0.0s
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/pdmurray/Desktop/workspace/conda-store/examples/docker/data

This could be the same issue referenced here: https://github.com/docker/docker.github.io/issues/4709#issuecomment-934576340, however I am running on linux, not a Mac. I'm pretty sure this is a docker-compose v2 issue, as nothing else has changed AFAIK except the release of docker-compose v2 ~2 weeks ago. For a dirty workaround that I've just tested you can use update-alternatives to point to an older version of docker-compose - this seemed to fix the problem for me:

update-alternatives --install /usr/local/bin/docker-compose docker-compose <PATH_TO_DOCKER_COMPOSE_V1> 99
update-alternatives --install /usr/local/bin/docker-compose docker-compose <PATH_TO_NORMAL_DOCKER_COMPOSE> 1
costrouc commented 3 years ago

Was able to reproduce.

$ nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/master.tar.gz -p docker-compose_2
$ docker-compose up --build
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/costrouc/p/quansight/conda-store/examples/docker/data