-
Notifications
You must be signed in to change notification settings - Fork 3
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
/usr/bin/docker requires libdevmapper.so on CoreOS and other versions of Linux #8
Comments
I have tried bind-mounting the library, but that require I also tried installing the debian version of the library, and that gave me some version, but not the one the binary wanted 😢 A static docker client-only binary would be a feasible solution, I suppose. |
This relates to #5, but the angle is quite different here... |
I just hit this issue trying to get the container to work on fedora:
|
Why are you running the full docker? You should just run a docker client. Similar to what you get on MacOS. Unfortunately, afaict, the only way to get hold of such a client-only docker exe is to build it yourself from the docker source tree. |
@rade ahhh interesting - I was searching for statically linked docker binary - do you mean that there is a "client only" docker binary? this would be much better to include than the "full docker" because basically all I need it to do it HTTP requests (to the full server). Perhaps a generic "docker source compile container" is called for that spits out full and client only versions of the docker binary. Thanks for the insight - I had not thought of anything other than "the standard docker binary" to do the client requests with... |
Yes. I believe that's what you get on OSX, since there the Looking at the docker source code, there's a |
I'm seeing the same thing here on CentOS7 (same as RedHat 7) |
So I've compiled a statically linked This means:
@rade thanks for the heads up - works beautifully - @psfales thanks for your work in diagnosing this - @errordeveloper thanks for finding it :-) I'm going to tentatively close this issue... |
Hi Kai, After not doing anything with powerstrip for a while, I went back to I don't know for sure sure what the problem is, but I think it may 2015/04/22 20:38:14 Cannot connect to the Docker daemon. Is 'docker -d' I think this is because the 1.3 client is not able to talk to the 1.5 But I think it might be a bug with docker... When I look at Have you heard of any problems related to docker-1.5? On Tue, Mar 10, 2015 at 09:39:01AM -0700, Kai Davenport wrote:
Peter Fales |
@psfales Hey! Can you give me a log of the commands you used to spin up powerstrip and powerstrip-weave? I don't think it's anything to do with docker 1.5 - I've been happily running powerstrip & powerstrip-weave against docker 1.5 for a while. If I can replicate your setup in a VM then I can track it down :-) Thanks! |
To follow up my earlier mail... Can you try it in a CentOS7 VM? That's Peter Fales On Thu, Apr 23, 2015 at 04:27:04AM -0700, Kai Davenport wrote:
|
Ok, now I'm more confused. There is definitely a problem with docker-1.5 on redhat. As I mentioned Yesterday, even with docker-1.6, the powerstrip containers were not One more question... I'm seeing numerous instances of this signature 2015-04-23 14:59:23+0000 [DockerProxyClient,client] Stopping factory When I saw that yesterday, I was assuming that it meant things were As long as that's not a problem, I guess you can blame this on Peter Fales On Thu, Apr 23, 2015 at 04:27:04AM -0700, Kai Davenport wrote:
|
@psfales The Is everything working OK with 1.6-rc? |
OK, thanks. Yes, (other than I thought that it did not work the first Peter Fales On Wed, Apr 29, 2015 at 04:50:30AM -0700, Kai Davenport wrote:
|
Sigh. This is getting puzzling. I think it worked fine yesterday. "weave run" works ok, but when I start a container with WEAVE_CIDR, I see this in "docker logs powerstrip" 2015-04-29 19:33:29+0000 [HTTP11ClientProtocol,client] while running chain
Peter Fales On Wed, Apr 29, 2015 at 04:50:30AM -0700, Kai Davenport wrote:
|
@psfales could you post the commands you are using to spin everything up - I will boot a CentOS 7 VM and replicate :-) |
I'm starting to think that something else is going on. There may But, there is definitely a serious problem with the native CentOS7 But having said that. Here are command's I'm using... Launch pluginunset DOCKER_HOST Launch Powestripdocker run -d --name powerstrip Launch containerdocker -H 127.0.0.1:2376 run -d -e WEAVE_CIDR=10.0.5.1/16 tutum/centos Sometimes this last command will work. Sometimes it will print Peter Fales On Thu, Apr 30, 2015 at 06:22:24AM -0700, Kai Davenport wrote:
|
Can confirm that vanilla docker on CentOS 7 does not mount sockets as volumes:
This means that whilst the powerstrip-weave container itself starts - it is not starting the other containers that are needed. This can be seen doing
The 2 failures to connect to docker is the adapter trying to start wait-for-weave and the weave router itself (using /var/run/docker.sock) Proceeding from here will guarantee that the WEAVE_CIDR container will hang because weave is not even started. I will now try another version of docker and see if the same problem persists... |
OK - with a docker 1.6 installed - powerstrip-weave boots but I am now getting the same hung problem. When I
Which certainly indicates something going wrong. Good news - I can replicate the problem :-) Bad news - I'm off home now so won't take a look until tomorrow. Thanks @psfales for the report though :) |
On Thu, Apr 30, 2015 at 09:28:53AM -0700, Kai Davenport wrote:
Yes, I have confirmed that.
This is the symptom with the vanilla docker - since the container can't
|
Thansk for letting me know the status. And I'm glad to hear that On Thu, Apr 30, 2015 at 10:03:05AM -0700, Kai Davenport wrote:
|
Hey - so yes I see what you mean - this morning, having spun up everything, it all works fine now :-/ Kernel: I have this script to run through all the steps: #!/usr/bin/env bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
setenforce 0
yum update -y
yum install -y docker
wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O /usr/bin/docker
service docker start
docker pull docker.io/binocarlos/powerstrip-weave
docker pull docker.io/clusterhq/powerstrip
docker pull tutum/centos
mkdir -p /tmp/powerstrip-demo
cat > /tmp/powerstrip-demo/adapters.yml <<EOF
endpoints:
"POST /*/containers/create":
pre: [weave]
"POST /*/containers/*/start":
post: [weave]
"POST /*/containers/*/restart":
post: [weave]
adapters:
weave: http://weave/v1/extension
EOF
unset DOCKER_HOST
# to debug - run this container in a seperate shell
# it mounts the source code
# first command: bash /srv/app/run.sh launch
# ctrl + c
# bash /srv/app/run.sh softlaunch
# ^^ repeat
docker run -d --name powerstrip-weave \
--expose 80 \
-e http_proxy=http://global.proxy.lucent.com:8000/ \
-e https_proxy=http://global.proxy.lucent.com:8000/ \
-e no_proxy=/var/run/docker.sock \
-v /srv/projects/powerstrip-weave:/srv/app \
-v /var/run/docker.sock:/var/run/docker.sock \
docker.io/binocarlos/powerstrip-weave launch
docker run -d --name powerstrip \
-e no_proxy=/var/run/docker.sock \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/powerstrip-demo/adapters.yml:/etc/powerstrip/adapters.yml \
--link powerstrip-weave:weave \
-p 2376:2375 \
docker.io/clusterhq/powerstrip
docker -H 127.0.0.1:2376 run -d -e WEAVE_CIDR=10.0.5.1/16 tutum/centos
docker exec -ti weavetest ip addr Having run this 3 times - each time it outputs:
Can you try the same script from a fresh CentOS7 box? @psfales Thanks for spending time on tracking this down :) |
Do you mean that I can simply put that script into a file and run it? I had to make some tweaks to get it workign behind our corporate
Peter Fales On Fri, May 01, 2015 at 04:01:03AM -0700, Kai Davenport wrote:
|
My slightly modified script is attached. I tried it on four different Prior to the reboot, I realized I was running several qemu-kvm VMs. Maybe I noticed that it pulled newer versions of powerstrip and I also noticed some evidence that timing is a factor. The last Peter Fales On Fri, May 01, 2015 at 04:01:03AM -0700, Kai Davenport wrote:
|
@psfales Hey - sorry I had pasted the script with some artifacts left from me playing around.- more stupidly I hadn't ran it as a script instead I built up the commands as I ran them manually.
Can you paste your modified script? I can't find the github email attachment. I'd be interested in seeing if it works on the rebooted machine consistently? Thanks again! |
The complete script is pasted below. Yes, it seems to run consistently The question is whether it will still be working on Monday! #!/usr/bin/env bash to debug - run this container in a seperate shellit mounts the source codefirst command: bash /srv/app/run.sh launchctrl + cbash /srv/app/run.sh softlaunch^^ repeat-v /srv/projects/powerstrip-weave:/srv/app \docker run -d --name powerstrip-weave docker exec -ti weavetest ip addrPeter Fales On Fri, May 01, 2015 at 12:52:55PM -0700, Kai Davenport wrote:
|
@psfales this script disabled SELinux, have you, by chance, had it enabled when you observed inconsistent behaviour? |
That was in the script that Kai provided, but I don't think it had Peter Fales On Fri, May 01, 2015 at 04:33:33PM -0700, Ilya Dmitrichenko wrote:
|
For the record, I ran through the script at least 10 times on each Peter Fales On Fri, May 01, 2015 at 04:01:03AM -0700, Kai Davenport wrote:
|
Coreos user here. Had the same issue and just mounted libdevmapper in as noted in the below article and it worked as expected. https://groups.google.com/forum/#!topic/coreos-user/4nyJh8lYaiA |
There is an additional issue, on a number of distros
/usr/bin/docker
requireslibdevmapper.so
, as the storage backends differ.The text was updated successfully, but these errors were encountered: