Докер 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
Проблема
При запуске докера:
[ 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. Моя проблема была в команде запуска докера. Похоже, я использовал докер с 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, все мои образы докеров исчезли. Я был очень раздражен тем, что образы докеров
ничего не вернули.
Но у меня все еще было много файлов реальных изображений в / var / lib / docker / devicemapper /
, поэтому я подумал, что эта команда ссылается на странный каталог. Тогда я получил ответ, это devicemapper
.
Вы можете увидеть подробности здесь . Возможно, нам придется узнать о демоне.
Ваш docker 1.10 запустится, если вы сможете подождать день после его перезапуска.
Все ваши текущие образы, теги и контейнеры автоматически переносятся в новый фундамент при первом запуске Docker Engine 1.10. Перед загрузкой вашего контейнера демон вычислит все необходимые контрольные суммы для ваших текущих данных, а после его завершения все ваши образы и теги будут иметь совершенно новые защищенные ID.
Хотя это простая операция, вычисление контрольных сумм SHA256 для ваших файлов может занять некоторое время, если у вас много данных образов. В среднем вы должны предполагать, что мигратор может обрабатывать данные со скоростью 100MB/s. В течение этого времени ваш демон Docker не будет готов отвечать на запросы.
Пожалуйста, смотрите здесь.
.