NrgXnat/xnat-docker-compose

[BUG] Readme Installation Instructions typo

chaddupuis opened this issue · 2 comments

Small thing but on the docker compose readme ( https://github.com/NrgXnat/xnat-docker-compose#readme ) under the installation instructions it says "docker-compose" where it should be "docker compose" (a space not a hyphen) for the command. For those of us who like to cut and paste :-)

so this

$ docker-compose up -d

should be this

$ docker compose up -d

Thanks for all the work on this project!

jmz-b commented

This is not strictly true.

The the docker compose subcommand is a different implementation than the docker-compose script. With the later being a python script and the former being a newer implementation in Go.

More-over, the compose subcommand is only included in the Docker Desktop distribution (available for only Windows and Apple), and is therefore not available for Linux.

I am fairly sure that most users of this project are using the docker-compose python script, at least on the server side if not for local development

References:

Thanks for the reply, those commands are definitely in a bit of flux. First, I assure you I'm not trying to be pedantic, just offering an idea for clear documentation for new builds. Assuming that by "most users" you are indicating linux users - my read on the situation (which could easily be wrong) is that you were correct ~>6 months ago (the deprecation being referenced further down in the SO article you link to).

The docker-compose command has been officially deprecated by Docker and GA of the docker compose subcommand (so on linux, et. al.) was as of April 26, 2022 ( https://www.docker.com/blog/announcing-compose-v2-general-availability/ ). There is a reference that in the docker desktop builds (which I don't use) docker-compose has been aliased to docker compose, but on straight new linux builds this does not appear to always be the case.

I can't speak to the docker desktop builds on win/mac as I've never used them, but on two new linux builds - one a RH 9 and one a SUSE:

RH 9
yum install docker-compose-plugin (from the CE repo)
which docker-compose yields: (no docker-compose....) so the installer fails.

On SUSE tumbleweed, docker-compose is just an alias to docker compose version 2.15.1 (as of latest release).

I'm not sure the right direction here docs wise as in a way most users will be ok for now, but it seems from the docker docs and officially stated direction, sooner or later that command will be "docker compose" (when you are doing yum/apt install docker-compose-plugin). It seems prudent to mention and test for v2 functionality (potential differences in how it reads .env files, among other behavior). But I imagine, as you point to, that people deep in the daily behavior of docker compose will already know the state of their current environment with regards to this change, so a change in docs may very well be unnecessary.