I have been using Fedora CoreOS version 31.20200505.3.0 on digitalocean (image took from here https://getfedora.org/coreos/download?tab=cloud_operators&stream=stable)
Default user core, but need elevation to use docker
Installing docker-compose via binary with command
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o ~/bin/docker-compose
chmod +x ~/bin/docker-compose
doesn't work due to error: "[6261] Error loading Python lib '/tmp/_MEI7CUfMy/libpython3.7m.so.1.0': dlopen: libcrypt.so.1: cannot open shared object file: No such file or directory
"
So I tried alternative install via
curl -L --fail https://github.com/docker/compose/releases/download/1.25.5/run.sh -o ~/bin/docker-compose
chmod +x ~/bin/docker-compose
(as root)
But then was the problem with inaccessible bind mounts. Solved with solution from here https://stackoverflow.com/questions/24288616/permission-denied-on-accessing-host-directory-in-docker (added :Z) to option and modified ~/bin/docker-compose shell script accordingly.
But then I'm getting error "Couldn't connect to Docker daemon at http+docker://localhost – is it running?"
If running docker-compose sh
and docker run hello-world
I get "docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run –help'."
At this point I'm considering other container distribution or debian.
Can anyone point out how to install docker-compose on Fedora CoreOS?
UPD:
Thanks to @Bert hint this solves issue with docker-compose binary sudo rpm-ostree install libxcrypt-compat
Best Answer
Why don't you just install the docker-compose package directly? As the Fedora package maintainer for docker-compose I try to make sure this works for all Fedora users.
Remember that in order to use Docker (without
sudo
) your user must be in thedocker
group. By default the CoreOScore
user is not in this group.After you log out and log back in, confirm your user is in the
docker
group.Now you can use docker-compose.