Docker 1.8.2-10.el7.centos был установлен и смог работать на CentOS7.
Чтобы обновить докер эта почта был прочитан, и были выданы следующие команды:
curl -L https://get.docker.com/builds/Linux/x86_64/docker-latest > /usr/bin/docker; chmod +x /usr/bin/docker
curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.service > /usr/lib/systemd/system/docker.service
curl -L https://raw.githubusercontent.com/docker/docker/master/contrib/init/systemd/docker.socket > /usr/lib/systemd/system/docker.socket
Проблема
Когда докер запущен:
systemctl start docker
кажется, что он завис, а / var / log / messages указывает, что:
Feb 11 00:22:01 localhost systemd: Device dev-disk-by\x2duuid-f00f4f0a\x2dba57\x2d468b\x2dba82\x2d72f1bb087bbb.device appeared twice with different sysfs paths /sys/devices/virtual/block/loop0 and /sys/devices/virtual/block/dm-6
Feb 11 00:22:05 localhost docker: time="2016-02-11T00:22:05.977110830+01:00" level=info msg="calculated checksum for layer 26de6fe292b2275378ce421742105813ee98fb49a5e0e45c1fd89e20eedc2c31: sha256:0c42efc496d9944258fb38ccfa64f53c32433a24daa3ad64144e48c5deb1c78c"
Feb 11 00:22:06 localhost kernel: EXT4-fs (dm-8): mounted filesystem with ordered data mode. Opts: (null)
Feb 11 00:22:06 localhost systemd-udevd: conflicting device node '/dev/mapper/docker-253:0-68595821-51009a2811797c49222fd5f9cb9e38fbe4fca9cf2a7fcfb1151d34c0b545a42a' found, link to '/dev/dm-8' will not be created
Feb 11 00:22:06 localhost systemd: Device dev-disk-by\x2duuid-f00f4f0a\x2dba57\x2d468b\x2dba82\x2d72f1bb087bbb.device appeared twice with different sysfs paths /sys/devices/virtual/block/loop0 and /sys/devices/virtual/block/dm-8
Обсуждение
Странно то, что бинарник обновился:
[root @ localhost] # docker -v Докер версии 1.10.0, сборка 590d5108
но сервис не может быть запущен.
curl -L https://get.docker.com/builds/Linux/x86_64/docker-1.9.0 > /usr/bin/docker; chmod +x /usr/bin/docker
Вопрос
Как обновить Docker до 1.10.0 на CentOS7?
Ваш докер 1.10 запустится, если вы можете подождать день после его перезапуска.
Все ваши текущие изображения, теги и контейнеры автоматически переносятся на новую основу при первом запуске Docker Engine 1.10. Перед загрузкой вашего контейнера демон вычислит все необходимые контрольные суммы для ваших текущих данных, и после его завершения все ваши изображения и теги будут иметь новые безопасные идентификаторы.
Хотя это простая операция, вычисление контрольных сумм SHA256 для ваших файлов может занять время, если у вас много данных изображения. В среднем вы должны предполагать, что мигратор может обрабатывать данные со скоростью 100 МБ / с. В это время ваш демон Docker не будет готов отвечать на запросы.
Посмотри пожалуйста Вот.
У меня была такая же проблема, и сегодня мне наконец удалось запустить docker 1.10. Моя проблема была в команде запуска докера. Казалось, я использовал докер с devicemapper
драйвер хранилища и драйвер докера 1.10 не совпадали.
Вот что я пробовал.
Когда я один раз отказался от обновления докера 1.10 и понизил его с 1.10 до 1.9, 1.9 не запускался. Это началось после того, как я удалил эти файлы. Это может не повлиять на вашу проблему, но я решил, что теперь удаляю их перед обновлением докера.
mkdir /var-lib-docker-network-files
mv /var/lib/docker/network/files/* /var-lib-docker-network-files
ExecStart
как ваша индивидуальная команда.Здесь вы можете увидеть команду запуска по умолчанию;
vi /lib/systemd/system/docker.service
Мой был полностью таким же, как и в официальном репозитории.
ttps: //github.com/docker/docker/blob/master/contrib/init/systemd/docker.service
Так должно быть;
ExecStart=/usr/bin/docker daemon -H fd://
У меня эта команда не сработала. Итак, я создал файл, который переопределил команду как упаковывающий файл conf;
vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -s devicemapper -H fd://
Обязательно перезагрузите systemd перед запуском докера.
systemctl daemon-reload
service docker start
Я увидел еще одну строку ExecStart в Вот.
vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=docker daemon -D -s overlay
Хотя это сработало и заставило докер 1.10 запуститься, все мои образы докеров исчезли. Я был очень раздражен из-за docker images
ничего не вернул. Но у меня все еще было много файлов реальных изображений в /var/lib/docker/devicemapper/
поэтому я подумал, что эта команда ссылается на странный каталог. Тогда я получил ответ, это devicemapper
.
Вы можете увидеть подробности Вот. Возможно, нам придется узнать о демоне.