背景
- 使用自動化腳本重裝docker和docker-compose(但腳本中未對舊版本的docker-compose進行任何處理,比如卸載刪除)
- 導致執行docker-compose命令時報了錯,大多數是1,偶爾是2
- 1、Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
- 2、Segmentation fault 段錯誤(跟內存混亂有關,相當於用A去執行B)
思路
- 發現在未安裝docker-compose的服務器上可以正常執行
- 懷疑是docker-compose文件仍然是舊的版本,即未進行卸載舊docker-compose造成的
- 那么是直接去官網找到對應版本的docker-compose是否可以?
步驟
-
1、下載對應版本docker-compose, 我是最新版的,此時最新版鏈接:https://github.com/docker/compose/releases/tag/1.25.0-rc4
-
2、進入步驟1中的網頁后搜索 docker-compose-Linux-x86_64,復制該文件的鏈接地址
-
3、服務器上, cd /usr/local/bin/ ,wget https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-Linux-x86_64
-
4、刪除當前文件夾中docker-compose 文件,並將新下載的文件重命名為docker-compose
-
5 賦予權限 chmod +x /usr/local/bin/docker-compose, 如果你喜歡chmod -R 777, 那也可以。。。
-
6、 驗證, 輸入docker-compose --version ,此時出現版本信息, OK