十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
cat /etc/redhat-release:CentOS Linux release 7.5.1804 (Core)

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、達(dá)拉特網(wǎng)站維護(hù)、網(wǎng)站推廣。
docker --version:Docker version 17.09.0-ce, build afdb6d4
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)~
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
pip install docker-compose==1.23.2
此時(shí),我們使用docker-compose version命令是正常的,但是當(dāng)我們進(jìn)入docker-compose.yml文件路徑,執(zhí)行docker-compose up -d或docker-compose ps時(shí),出現(xiàn)如下報(bào)錯(cuò):
Traceback (most recent call last):
File "/usr/bin/docker-compose", line 10, in
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
from compose.cli.main import main
File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 22, in
from ..bundle import get_image_digests
File "/usr/lib/python2.7/site-packages/compose/bundle.py", line 13, in
from .network import get_network_defs_for_service
File "/usr/lib/python2.7/site-packages/compose/network.py", line 9, in
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
from compose.cli.main import main
File "/usr/lib/python2.7/site-packages/compose/cli/main.py", line 17, in
import docker
ImportError: No module named docker 最終的結(jié)果都是一樣的,就是docker-compose無(wú)法使用~~
為了不碰到上面棘手的報(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#<== 這里使用豆瓣的源,比較快~
Cannot uninstall 'texttable',請(qǐng)執(zhí)行上面提到的解決方法~,然后再次安裝docker-compose即可。