一次docker-compose升級(jí)問(wèn)題排查-創(chuàng)新互聯(lián)

系統(tǒng)和docker信息

  • (1)執(zhí)行cat /etc/redhat-release:

CentOS Linux release 7.5.1804 (Core)

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上1000+客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為巴馬企業(yè)提供專(zhuān)業(yè)的做網(wǎng)站、成都網(wǎng)站建設(shè),巴馬網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
  • (2)執(zhí)行docker --version:

Docker version 17.09.0-ce, build afdb6d4

  • (3)執(zhí)行docker-compose version:
docker-compose version 1.23.2, build 1110ad0
docker-py version: 3.7.0
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

事件原因

最近由于開(kāi)發(fā)同學(xué)項(xiàng)目需求,需要將docker-compose版本從1.12.x升級(jí)至1.21.x(21版本以上,目前是1.23.2)~

操作過(guò)程

  • (1)升級(jí)pip并安裝docker-compose:
pip install --upgrade pip

pip install docker-compose==1.23.2

出現(xiàn)如下報(bào)錯(cuò):

Cannot uninstall 'texttable'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

解決方法:

進(jìn)入/usr/lib/python(你的版本號(hào))/site-packages/目錄,直接刪包目錄:

rm -rf texttable-*.egg-info

  • (2)再次pip安裝docker-compose

pip install docker-compose==1.23.2

此時(shí),我們使用docker-compose version命令是正常的,但是當(dāng)我們進(jìn)入docker-compose.yml文件路徑,執(zhí)行docker-compose up -ddocker-compose ps時(shí),出現(xiàn)如下報(bào)錯(cuò):

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 10, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 71, in main
    command()
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 124, in perform_command
    project = project_from_options('.', options)

或者是這樣的報(bào)錯(cuò):

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 6, in <module>
    from compose.cli.main import main
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 22, in <module>
    from ..bundle import get_image_digests
  File "/usr/lib/python2.7/site-packages/compose/bundle.py", line 13, in <module>
    from .network import get_network_defs_for_service
  File "/usr/lib/python2.7/site-packages/compose/network.py", line 9, in <module>
    from docker.types import IPAMConfig
ImportError: cannot import name IPAMConfig

亦或者是這樣的報(bào)錯(cuò):

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 7, in <module>
    from compose.cli.main import main
  File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 17, in <module>
    import docker
ImportError: No module named docker

最終的結(jié)果都是一樣的,就是docker-compose無(wú)法使用~~

這里提供一個(gè)處理上面問(wèn)題的方法

為了不碰到上面棘手的報(bào)錯(cuò),正確升級(jí)姿勢(shì)總結(jié)如下:

主要步驟如下:

  • (1)使用pip list|grep docker查看已安裝相關(guān)docker包信息

  • (2)手動(dòng)卸載第一步列出來(lái)的包,如下:

    <1> pip uninstall docker

    <2> pip uninstall docker-compose

    <3> pip uninstall docker-py

    <4> pip uninstall docker-pycreds

    <5> pip uninstall dockerpty

  • (3)安裝docker-compose:pip install docker-compose==1.23.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com#<== 這里使用豆瓣的源,比較快~

  • (4)如果第三步報(bào)錯(cuò)Cannot uninstall 'texttable',請(qǐng)執(zhí)行上面提到的解決方法~,然后再次安裝docker-compose即可。

參考文檔

  • 刪除distutils installed的內(nèi)容

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:一次docker-compose升級(jí)問(wèn)題排查-創(chuàng)新互聯(lián)
文章分享:http://bm7419.com/article2/dcojoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)App開(kāi)發(fā)、全網(wǎng)營(yíng)銷(xiāo)推廣標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)