Docker Compose在不一樣環境的多種安裝方式

Docker Compose在不一樣環境的多種安裝方式

[toc]python

1、在線安裝

目前只嘗試了linux x86架構在線安裝linux

1. 下載 docker-compose

下載 docker-compose到 /usr/local/bin/git

$ 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 執行權限

$ sudo chmod +x /usr/local/bin/docker-compose

3.驗證一下

[root@localhost bin]# docker-compose -version
docker-compose version 1.21.2, build e7de1bc

2、離線安裝

(一)linux x86安裝docker-compose過程

方式1. 使用二進制文件安裝

linux x86只要把https://github.com/docker/compose/releases中的對應linux版本的docker-compose二進制文件下載到本地併發送linux下,複製到 /usr/local/bin/就能夠正常使用。github

方式2. 使用python編譯安裝

從github上下載dockerCompoes源碼。而後執行下面步驟:docker

  • 進入到docker-compose的源碼目錄
  • 執行python setup.py install

(二)其餘沒有二進制文件的系統安裝過程

有些架構的docker-compose二進制文件官方沒有提供,須要本身手動編譯安裝。其餘官方沒有提供的也須要本身手動使用python編譯安裝網絡

通過嘗試發現好像只有使用python編譯能夠成功安裝,另外下面三種方式都失敗了。架構

使用python編譯安裝

使用docker-compose github源碼,python編譯安裝。併發

  1. 進入到docker-compose的源碼目錄
  2. 執行python setup.py install
報錯

一直再報requests10版本錯誤,刪除10版本,換了16版本,又報docker必須的requests2.14以上,說明下載的docker-compose源碼版本和安裝的docker版本不對應.python2.7

下載並查看源碼下的requirements.txt文件中的requests版本,找到和已安裝的docker對應版本,而後再次安裝,又報texttable版本不正確。並且無網絡不能自動下載,只能手動到https://pypi.org/project/texttable/上面找對應版本下載,編譯安裝。curl

解決缺乏依賴的問題

這類缺乏依賴的問題都要到python官網下載,而後經過編譯安裝。一個例子:

安裝requests、texttable兩個依賴,而且docker-compose與docker版本對應。繼續執行python編譯安裝

  1. 進入到docker-compose得源碼目錄
  2. 執行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...,並編譯安裝

  • 進入到下載得python docker3.3.0目錄下
  • 執行命令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
  • 再次進入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

3、其餘

python安裝模塊如何經過setup.py安裝

  • 進入安裝目錄
  • python setup.py build
  • python setup.py install

其餘嘗試失敗的安裝方式

1.使用二進制文件安裝

找編譯好的二進制文件,嘗試放到/usr/local/bin下面,報錯:沒法執行這個二進制文件。

2.使用dep安裝

下載對應的dep安裝包,解壓data文件,把docker-compose放到/usr/local/bin下,執行報錯:/usr/bin/python3:壞的的解釋器
找鏡像,找不到可用的鏡像

3.make安裝

開始使用make安裝,發現缺乏一般liunx下編譯安裝的configuration文件,使用./configuration 報錯找不到文件

相關文章
相關標籤/搜索