我試圖將CentOS 7上的Docker從1.9升級到1.10。我使用所提供的泊塢窗網站上的腳本:由於衝突導致Docker升級失敗
https://docs.docker.com/engine/installation/linux/centos/
我運行該腳本:
最後,腳本執行以下命令:
sudo -E sh -c 'sleep 3; yum -y -q install docker-engine'
這命令失敗並顯示以下消息:
Error: docker-engine-selinux conflicts with docker-selinux-1.9.1-25.el7.centos.x86_64
Error: docker-engine conflicts with docker-1.9.1-25.el7.centos.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我已經將此失敗隔離爲yum命令,並嘗試使用--skip-broken運行它。儘管如此,這並沒有太大的作用:
$ sudo yum -y -q --skip-broken install docker-engine
Packages skipped because of dependency problems:
docker-engine-1.10.3-1.el7.centos.x86_64 from docker-main-repo
docker-engine-selinux-1.10.3-1.el7.centos.noarch from docker-main-repo
嘗試rpm命令什麼也不做。運行引用的rpm命令似乎可以做某些事情,但無論如何,它對安裝都沒有影響。失敗依然存在。
互聯網搜索顯示其他人也看到類似的問題,但通常他們的問題出現了,因爲失敗時引用的一些依賴關係丟失了。在我的系統上似乎沒有任何缺失的依賴關係。
我甚至試過刪除版本1.9。這也不會改變任何事情。
按照泊塢窗網站上提供的手動安裝說明,也沒有改變任何內容。
在Docker文檔中也沒有描述這個特定問題的東西。
有沒有人見過這個確切的問題?有誰知道一些方法來解決它?
請指教。
您建議的方法工作。我不知道有一個單獨的docker-selinux軟件包...它在我安裝docker時安裝,但沒有卸載...?希望最新的安裝不會有這樣煩人的疏忽......請注意,在運行1.10之前,應該先卸載docker-selinux軟件包和docker軟件包(稱爲「docker」,而不是「docker-engine」!)安裝腳本。 –
該軟件包實際上在官方存儲庫http://yum.dockerproject.org/repo/main/centos/7/Packages/中稱爲「docker-engine」。你能檢查你正在安裝哪個存儲庫嗎? – thaJeztah
噢,我知道我沒有使用官方存儲庫,因爲我能夠安裝的1.10版本被稱爲「docker-engine」,但我擁有的1.9版本不是官方軟件包(它實際上被命名爲「docker」 ,而不是「碼頭引擎」)。那個包來自哪裏,我不知道(但並不真正關心),但我很確定這不是官方的包。 –