NiMARE icon indicating copy to clipboard operation
NiMARE copied to clipboard

Review the Dockerfile and status of Docker support

Open tsalo opened this issue 2 years ago • 8 comments

Summary

I haven't done anything with the Dockerfile in a long time, and I don't know if it still works. I'd like to check the status of the file and our DockerHub support to see if they still work. I'd also like to determine if we even want to keep them. We've removed just about any non-Python dependencies in the library (e.g., MALLET) recently, so Docker might not be necessary.

Additional details

Reduced maintenance cost and more accurate documentation for potential devs.

Next steps

  1. Check if DockerHub still retains a NiMARE Docker image.
  2. Check if the Dockerfile still works.
  3. Determine if we want/need Docker at all. Remove the Dockerfile and dev instructions related to Docker if we don't. If we do, update the Dockerfile.

tsalo avatar Jun 11 '22 14:06 tsalo

  1. Yes, DockerHub still retains a NiMARE Docker image, but this is the only version available: latest=0.0.8+1.gbffd5e9.
  2. I tried to build a docker image locally using that Dockerfile and I got this error message:
conda clean: error: argument -p/--packages: ignored explicit argument 'sy'

JulioAPeraza avatar Jun 13 '22 15:06 JulioAPeraza

Thanks for looking into it @JulioAPeraza! Do you think it's worth it to maintain the Docker image? I feel like it might be unnecessary now that NiMARE's written purely in Python, but I'd like to get everyone's thoughts on it. Tagging @jdkent and @adelavega as well.

tsalo avatar Jun 13 '22 16:06 tsalo

I think if installing locally w/ conda is easy then removing the Docker image is fine.

It only makes sense to me for difficult to set up dependencies like mallet.

adelavega avatar Jun 13 '22 16:06 adelavega

Agreed! I think it would be fine to remove the Docker image. The Dockerfile, on the other hand, may still be useful for developers. I have been using a virtual environment, and to test changes to the math equations in the documentation with make html I had to install latex for math display.

JulioAPeraza avatar Jun 14 '22 14:06 JulioAPeraza

In that case, I will remove the image on DockerHub. We will need to update the Dockerfile though. It looks like it still installs MALLET, for example- not to mention the failure @JulioAPeraza identified.

EDIT: I've deleted the DockerHub image.

tsalo avatar Jun 15 '22 15:06 tsalo

I have used the Dockerfile in the past for development, and it may be a good idea for an eventual comparison to Brainmap/GingerALE, but yeah the docker-image is not necessary.

jdkent avatar Jun 16 '22 09:06 jdkent

That's fine w/ me although it seems the biggest maintenance burden is the Dockerfile itself

adelavega avatar Jun 16 '22 17:06 adelavega

If we're going to keep the Dockerfile, I think we should probably add a CI test that uses it, if possible. That way we'll at least get some indication that it's out of date. Does that sound reasonable?

tsalo avatar Jul 16 '22 12:07 tsalo