於 Debian 7 手動降版至 docker-engine 1.10.3
最近凍仁在 Debian 7 上升級 docker-engine 一直失敗,查看 error log 才得知 Docker 1.12.0+ 需使用 Linux Kernel 3.10.0+ 才行,但偏偏 apt 套件管理員還傻傻的把它給升上 1.12.1。若大家有相同的困擾就請先降版,再綁定 docker-engine 的版本吧!
▲ 2016/09/02 踩完雷後的凍仁碎碎唸。
1. 成功使用 apt 升級 Docker v1.12.1 了,但就是無法啟用 Docker domain。
2. 從 error log 中得知 Docker 1.12.0+ 只支援 Kernel 3.10.0+,不支援凍仁現在使用的 Kernel 3.2.0。
3. 凍仁曾想藉由 apt-get install -f 來修復套件相依的問題,但都失敗了。
4. 手動移除 docker-engine 套件,並修復套件庫無法正常使用之問題。
5. 成功移除 docker-engine 後,指定特定的版本 (v1.10.3) 安裝 docker-engine。
6. 綁定 docker-engine 版本。
現在凍仁又可以開心的在 Debian 7 裡把玩 docker 了,省下重灌電腦的時間可以寫好多好多的筆記啊!
▲ 2016/08/28 剛踩到雷超想重灌電腦,又沒時間的凍仁碎碎唸。
今日發現 Docker 1.11.2 在 Kernel 3.2 上還是有些問題,故再次將 Docker 降版至 1.10.3,並修正此文章。
▲ 2016/09/02 踩完雷後的凍仁碎碎唸。
1. 成功使用 apt 升級 Docker v1.12.1 了,但就是無法啟用 Docker domain。
[ jonny@wheezy ~ ] $ docker ps [Enter] Cannot connect to the Docker daemon. Is the docker daemon running on this host?
2. 從 error log 中得知 Docker 1.12.0+ 只支援 Kernel 3.10.0+,不支援凍仁現在使用的 Kernel 3.2.0。
[ jonny@wheezy ~ ] $ tail -f /var/log/docker.log [Enter] ... time="2016-09-03T13:13:48.974874728+08:00" level=info msg="libcontainerd: new containerd process, pid: 20966" time="2016-09-03T13:13:49.977273934+08:00" level=fatal msg="Your Linux kernel version 3.2.0-4-amd64 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer."
3. 凍仁曾想藉由 apt-get install -f 來修復套件相依的問題,但都失敗了。
[ jonny@wheezy ~ ] $ sudo apt-get install -f [Enter] The following packages will be upgraded: docker-engine 1 packages upgraded, 0 newly installed, 0 to remove and 17 not upgraded. Need to get 0 B/28.1 MB of archives. After unpacking 116 kB will be used. Do you want to continue? [Y/n/?] (Reading database ... 275991 files and directories currently installed.) Preparing to replace docker-engine 1.12.0-0~wheezy (using .../docker-engine_1.12.1-0~wheezy_amd64.deb) ... [....] Stopping Docker: dockerstart-stop-daemon: warning: failed to kill 3752: No such process No process in pidfile '/var/run/docker-ssd.pid' found running; none killed. invoke-rc.d: initscript docker, action "stop" failed. dpkg: warning: subprocess old pre-removal script returned error exit status 1 dpkg: trying script from the new package instead ... [....] Stopping Docker: dockerstart-stop-daemon: warning: failed to kill 3752: No such process No process in pidfile '/var/run/docker-ssd.pid' found running; none killed. invoke-rc.d: initscript docker, action "stop" failed. dpkg: error processing /var/cache/apt/archives/docker-engine_1.12.1-0~wheezy_amd64.deb (--unpack): subprocess new pre-removal script returned error exit status 1 dpkg: error while cleaning up: subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: /var/cache/apt/archives/docker-engine_1.12.1-0~wheezy_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: dpkg: error processing docker-engine (--configure): Package is in a very bad inconsistent state - you should reinstall it before attempting configuration. Errors were encountered while processing: docker-engine
4. 手動移除 docker-engine 套件,並修復套件庫無法正常使用之問題。
[ jonny@wheezy ~ ] $ sudo mv /var/lib/dpkg/info/docker-engine.* /tmp && \ sudo dpkg --remove --force-remove-reinstreq docker-engine && \ sudo apt-get remove docker-engine && \ sudo apt-get autoremove && sudo apt-get autoclean && \ sudo apt-get install -f && \ sudo apt-get update [Enter]
5. 成功移除 docker-engine 後,指定特定的版本 (v1.10.3) 安裝 docker-engine。
[ jonny@wheezy ~ ]
$ sudo apt-get install docker-engine=1.10.3-0~wheezy [Enter]
6. 綁定 docker-engine 版本。
[ jonny@wheezy ~ ]
$ sudo apt-mark hold docker-engine [Enter]
docker-engine set on hold.
現在凍仁又可以開心的在 Debian 7 裡把玩 docker 了,省下重灌電腦的時間可以寫好多好多的筆記啊!
▲ 2016/08/28 剛踩到雷超想重灌電腦,又沒時間的凍仁碎碎唸。
2016-09-25
今日發現 Docker 1.11.2 在 Kernel 3.2 上還是有些問題,故再次將 Docker 降版至 1.10.3,並修正此文章。
資料來源:
★ How to fix "Package is in a very bad inconsistent state" error? | Ask Ubuntu
★ software installation - How to install specific version of some package? | Ask Ubuntu
★ updates - How to prevent updating of a specific package? - Ask Ubuntu
★ 安裝docker失敗記錄 - Feng______
留言
張貼留言
喜歡這篇文章嗎?歡迎在底下留言讓凍仁知道。😉