一、在線安裝
目前只嘗試了linux x86架構(gòu)在線安裝
1. 下載 docker-compose
下載 docker-compose到 /usr/local/bin/ 中
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2. 給 docker-compose 執(zhí)行權(quán)限
$ sudo chmod +x /usr/local/bin/docker-compose
3.驗證一下
[root@localhost bin]# docker-compose -version
docker-compose version 1.21.2, build e7de1bc
二、離線安裝
(一)linux x86安裝docker-compose過程
方式1. 使用二進(jìn)制文件安裝
linux x86只要把https://github.com/docker/compose/releases中的對應(yīng)linux版本的docker-compose二進(jìn)制文件下載到本地并發(fā)送linux下,復(fù)制到 /usr/local/bin/就可以正常使用。
方式2. 使用python編譯安裝
從github上下載dockerCompoes源碼。然后執(zhí)行下面步驟:
- 進(jìn)入到docker-compose的源碼目錄
- 執(zhí)行python setup.py install
(二)其他沒有二進(jìn)制文件的系統(tǒng)安裝過程
有些架構(gòu)的docker-compose二進(jìn)制文件官方?jīng)]有提供,需要自己手動編譯安裝。其他官方?jīng)]有提供的也需要自己手動使用python編譯安裝
經(jīng)過嘗試發(fā)現(xiàn)好像只有使用python編譯可以成功安裝,另外下面三種方式都失敗了。
使用python編譯安裝
使用docker-compose github源碼,python編譯安裝。
- 進(jìn)入到docker-compose的源碼目錄
- 執(zhí)行python setup.py install
報錯
一直再報requests10版本錯誤,刪除10版本,換了16版本,又報docker必須的requests2.14以上,說明下載的docker-compose源碼版本和安裝的docker版本不對應(yīng).
下載并查看源碼下的requirements.txt文件中的requests版本,找到和已安裝的docker對應(yīng)版本,然后再次安裝,又報texttable版本不正確。而且無網(wǎng)絡(luò)不能自動下載,只能手動到https://pypi.org/project/texttable/上面找對應(yīng)版本下載,編譯安裝。
解決缺少依賴的問題
這類缺少依賴的問題都要到python官網(wǎng)下載,然后通過編譯安裝。一個例子:
安裝requests、texttable兩個依賴,并且docker-compose與docker版本對應(yīng)。繼續(xù)執(zhí)行python編譯安裝
- 進(jìn)入到docker-compose得源碼目錄
- 執(zhí)行python setup.py install
報錯:
Installed /usr/lib/python2.7/site-packages/docker_compose-1.21.2-py2.7.egg
Processing dependencies for docker-compose==1.21.2
Searching for docker<4.0,>=3.3.0
Reading https://pypi.python.org/simple/docker/
Download error on https://pypi.python.org/simple/docker/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't retrieve index page for 'docker'
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or download links found for docker<4.0,>=3.3.0
error: Could not find suitable distribution for Requirement.parse('docker<4.0,>=3.3.0')
原因:python下的docker版本錯誤,重新到https://pypi.python.org/simpl...,并編譯安裝
進(jìn)入到下載得python docker3.3.0目錄下
執(zhí)行命令python setup.py install
輸出:
...
...Using /usr/lib/python2.7/site-packages/idna-2.5-py2.7.egg
Searching for chardet==3.0.2
Best match: chardet 3.0.2
Processing chardet-3.0.2-py2.7.egg
chardet 3.0.2 is already the active version in easy-install.pth
Installing chardetect script to /usr/bin
Using /usr/lib/python2.7/site-packages/chardet-3.0.2-py2.7.egg
Finished processing dependencies for docker==3.3.0
再次進(jìn)入docker-compose-1.21.2目錄
使用python安裝docker-compose
[root@localhost docker-3.3.0]# cd ../docker-compose-1.21.2/
[root@localhost docker-compose-1.21.2]# ls
build compose dist LICENSE README.rst setup.cfg tests
CHANGELOG.md contrib docker_compose.egg-info MANIFEST.in requirements-dev.txt setup.py tox.ini
CHANGES.md CONTRIBUTING.md Dockerfile
[root@localhost docker-compose-1.21.2]# python setup.py install
最后安裝成功顯示:
Using /usr/lib/python2.7/site-packages/idna-2.5-py2.7.egg
Searching for chardet==3.0.2
Best match: chardet 3.0.2
Processing chardet-3.0.2-py2.7.egg
chardet 3.0.2 is already the active version in easy-install.pth
Installing chardetect script to /usr/bin
Using /usr/lib/python2.7/site-packages/chardet-3.0.2-py2.7.egg
Finished processing dependencies for docker-compose==1.21.2
4.建立軟連接
[root@localhost bin]# ln -s /usr/bin/docker-compose /usr/local/bin/docker-compose
5.驗證一下
[root@localhost bin]# docker-compose -version
docker-compose version 1.21.2, build e7de1bc
三、其他
python安裝模塊如何通過setup.py安裝
- 進(jìn)入安裝目錄
- python setup.py build
- python setup.py install
其他嘗試失敗的安裝方式
1.使用二進(jìn)制文件安裝
找編譯好的二進(jìn)制文件,嘗試放到/usr/local/bin下面,報錯:無法執(zhí)行這個二進(jìn)制文件。
2.使用dep安裝
下載對應(yīng)的dep安裝包,解壓data文件,把docker-compose放到/usr/local/bin下,執(zhí)行報錯:/usr/bin/python3:壞的的解釋器
找鏡像,找不到可用的鏡像
3.make安裝
開始使用make安裝,發(fā)現(xiàn)缺少通常liunx下編譯安裝的configuration文件,使用./configuration 報錯找不到文件
到此這篇關(guān)于Docker Compose在不同環(huán)境的多種安裝方式的文章就介紹到這了,更多相關(guān)Docker Compose多種安裝方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!