Skip to content
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

docker-1.7.0-devel start failed #12889

Closed
Mashimiao opened this issue Apr 30, 2015 · 13 comments
Closed

docker-1.7.0-devel start failed #12889

Mashimiao opened this issue Apr 30, 2015 · 13 comments

Comments

@Mashimiao
Copy link
Contributor

Hi guys,

$ uname -a
Linux hostname 3.19.5-200.fc21.x86_64 #1 SMP Mon Apr 20 19:51:56 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ rpm -qi docker-io
Name : docker-io
Version : 1.6.0
Release : 2.git3eac457.fc21
Architecture: x86_64
Install Date: Wed 29 Apr 2015 12:20:39 PM CST
Group : Unspecified
Size : 21878248
License : ASL 2.0
Signature : RSA/SHA256, Sat 25 Apr 2015 01:36:29 PM CST, Key ID 89ad4e8795a43f54
Source RPM : docker-io-1.6.0-2.git3eac457.fc21.src.rpm
Build Date : Sat 25 Apr 2015 01:28:42 AM CST
Build Host : buildvm-24.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : http://www.docker.com
Summary : Automates deployment of containerized applications

Problem:
I have installed docker-1.6 and works well.
I compiled docker from mainline. And used the following command to replace docker-1.6:
sudo cp contrib/completion/bash/docker /usr/share/bash-completion/completions/docker
sudo service docker stop ; sudo cp $(which docker) $(which docker)_ ; sudo cp ./bundles/$ver-dev/binary/docker-$ver-dev $(which docker);sudo service docker start

But it started failed with the following log:
Apr 30 13:48:19 hostname docker[3444]: time="2015-04-30T13:48:19.444274749+08:00" level=info msg="Listening for HTTP on unix (/var/run/docker.sock)"
Apr 30 13:48:19 hostname docker[3444]: time="2015-04-30T13:48:19.444792076+08:00" level=error msg="Udev sync is not supported. This will lead to unexpected behavior, data loss and errors. For more information, see https://docs.docker.com/reference/commandline/cli/#daemon-storage-driver-option"
Apr 30 13:48:19 hostname docker[3444]: time="2015-04-30T13:48:19.444820254+08:00" level=error msg="[graphdriver] prior storage driver "devicemapper" failed: driver not supported"
Apr 30 13:48:19 hostname docker[3444]: time="2015-04-30T13:48:19.445045857+08:00" level=fatal msg="Error starting daemon: error initializing graphdriver: driver not supported"

I don't know why. Do you have any ideas?

@GordonTheTurtle
Copy link

Hi!
If you are reporting a new issue (that does not have any duplicates already open) we would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

Description of problem:


`docker version`:


`docker info`:


`uname -a`:


Environment details (AWS, VirtualBox, physical, etc.):


How reproducible:


Steps to Reproduce:
1.
2.
3.


Actual Results:


Expected Results:


Additional info:


#ENEEDMOREINFO

@coolljt0725
Copy link
Contributor

You have to enable Udev sync and to enable Udev sync you should use dynamic binary of docker.
Or you can with --storage-opt dm.override_udev_sync_check=true on docker daemon start, but This will lead to unexpected behavior, data loss and errors There is a long story in #4036

@coolljt0725
Copy link
Contributor

Or you can use other grapdriver not devicemapper

@Mashimiao
Copy link
Contributor Author

@coolljt0725 the docker-1.6.0 works well. So I think Udev sync is already enabled.

@Mashimiao
Copy link
Contributor Author

I reinstalled docker-1.6.0 and docker info is:
Containers: 40
Images: 116
Storage Driver: devicemapper
Pool Name: docker-8:6-2239216-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 6.922 GB
Data Space Total: 107.4 GB
Data Space Available: 26.09 GB
Metadata Space Used: 9.925 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.138 GB
Udev Sync Supported: true
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.93 (2015-01-30)
Execution Driver: native-0.2
Kernel Version: 3.19.5-200.fc21.x86_64
Operating System: Fedora 21 (Twenty One)
CPUs: 4
Total Memory: 7.651 GiB

@coolljt0725
Copy link
Contributor

But it's weird that your log has this Apr 30 13:48:19 hostname docker[3444]: time="2015-04-30T13:48:19.444792076+08:00" level=error msg="Udev sync is not supported. This will lead to unexpected behavior, data loss and errors.
Do you compile the mainline use dynbinary( ./hack/make.sh dynbinary)?

@Mashimiao
Copy link
Contributor Author

No, I just complied using make binary

@coolljt0725
Copy link
Contributor

That's the problem, make binary build a static binary, A way to build dynbinary is
docker run -ti --privileged $(pwd):/go/src/github.com/docker/docker dockercore/docker ./hack/make.sh dynbinary
and copy bundles/1.7.0-dev/binary/docker-1.7.0-dev and bundles/1.7.0-dev/binary/dockerinit-1.7.0-dev to docker install path

@Mashimiao
Copy link
Contributor Author

Well, I think that can't slove problem.
run docker in container will use vfs not devicemapper.
I complied on host with ./hack/make.sh dynbinary and copy bundles/1.7.0-dev/dynbinary/docker-1.7.0-dev /usr/bin/docker and bundles/1.7.0-dev/dynbinary/dockerinit-1.7.0-dev to /usr/libexec/docker/
It still can't start

@hqhq
Copy link
Contributor

hqhq commented Apr 30, 2015

1.6.0 is workable but not stable, you'll meet problem as #4036 described. There is conclusion in #4036 (comment), you should use dynbinary if you want to use devicemapper.
Then #11412 make udev sync as hard requirement, so you got fail on 1.7.0-dev.

Build dynbinary in container is workable. You must met problem like #12535 .

@coolljt0725
Copy link
Contributor

@Mashimiao docker run -ti --privileged $(pwd):/go/src/github.com/docker/docker dockercore/docker ./hack/make.sh dynbinary is not to run docker in container, it's to build a dynamic binary.
I build dynamic binary in this way and it works for me

@Mashimiao
Copy link
Contributor Author

Thanks both of you. The problem has been solved.

@rickyzhang82
Copy link

@coolljt0725

I build a dynbinary in FC21. However, there's a showstopper.

see my comment: #12479 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants