現場(環境):CentOS 7.4 套件:Git 、Docker、Docker-Compose
原因:
想直接將github上的docker佈署下來遇到問題。
想要使用管理Docker的工具,就連結到下方網址。
https://github.com/stefanprodan/dockprom
用平常的方式將github上的專案拉回本地端。
但在後面執行時發現,會有問題。
執行這行命令後,發現沒有安裝docker-compose這個指令。
錯誤訊息: docker-compose: command not found
處理方式:
docker-compose 這東西在你安裝Docker時並不存在。
而是今天你有這個需求而另外去下載回來安裝的。
安裝方式要使用curl -L 將整頁的內容帶回來,
並將這隻檔案抓回來放在/usr/local/bin/
#curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
這邊可以看到curl回來的LNIK中有uname這個指令,那他是幹嘛的?
配合Docker-compose的下載路徑,會將版本號先區分作業系統再看位元數。
下圖我們可以看到uname 的一些使用說明
接著我們實際測試 uname -s / uname -m 取回來的數值
curl 方面。會使用-L的原因很簡單,
因為有時候頁面會使用301重定向或者導頁,
這種時候用curl反而抓不到重定向後的資料所以才帶 [-L]。
賦與這個檔案可以執行的權限。
#chmod +x /usr/local/bin/docker-compose
之後我們就可以開始使用docker-compose 來進行佈署。
先看看docker-compose的版本。
之後我們就可以透過這個指令,
下載github上的docker佈署規則來進行本地端佈署。
再次執行時就不是無法安裝的問題,到這邊專案算是安裝完成。
#ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d
今天如果只是啟動一個Docker,指令輸入一下很快。
但是如果是一套完整的系統呢?一定會想辦法用最簡單的方式完成佈署。
跟我們會寫SHELL完成系統套件的安裝一樣。
Docker-compose就是用來執行我們編寫好的.yml (docker佈署檔)
只要你依照編寫規則去撰寫,他都可以依你的需求進行運作。
格式方面大致上如下圖 ; 大家要寫還是要查一下文件。
之後大家就把這個方法放上github,
而後大家就可以直接用別人編撰好的yml檔完成系統的佈署。
(我們這次要運用的專案也是這樣)
這也是因為使用的Docker環境大多是公開的,
所以我們只需將我們要用的套件載入其中就可以了。
最後就會如上面說的一樣,用git將專案抓回來。
並透過docker-compose進行安裝就完成了。
大致上分享到這邊。
<本篇完>
參考網址:
https://yami.io/ubuntu-docker/
https://github.com/stefanprodan/dockprom
https://itbilu.com/linux/man/4yZ9qH_7X.html