===============================================
2019/4/9_第3次修改 ccb_warlock
更新說明:
2019/4/9:增加了對docker部署、portainer部署的引用
2019/4/2:【已棄用】
shipyard早已停更,該記錄文檔已無法成功部署;
早期對docker-ce部署的內容邏輯有些繁瑣;
===============================================
2019/4/9,我重新對docker ce的部署進行了整理,shipyard也可以用portainer來代替(我也是根據shipyard原作者在github上的建議才接觸了portainer,功能確實更好)
centos7 部署 docker ce:https://www.cnblogs.com/straycats/p/10680502.html
docker 部署 portainer(http):https://www.cnblogs.com/straycats/p/8978201.html
為了適應當前容器化的部署方式,故最近也在對docker進行學習。目前的理解是docker服務就像一艘貨船,而你的各項服務可以封裝在一個個集裝箱里,而且在docker里服務的啟動非常快,故有必要從基礎的部署內容開始整理。
這次整理的是docker、shipyard的部署。docker是容器的基礎服務,而shipyard是查看容器的界面服務(也是運行在docker上的容器服務)。
一、准備工作
1.1 環境配置
名稱 | 內容 |
操作系統 | centos7(CentOS-7-x86_64-Minimal-1708) |
CPU | 1核 |
內存 | 4G |
1.2 卸載舊版本
(新安裝的centos7.4並沒有這些包,所以執行也是提示找不到這些包)
老版本的Docker被稱為docker或docker-engine。如果安裝了這些,請卸載它們以及相關的依賴項。
yum remove -y docker docker-common docker-selinux docker-engine
1.3 安裝vim、wget
yum install -y wget vim
二、部署docker ce
2.1 安裝yum-utils、device-mapper-persistent-data、lvm2
yum install -y yum-utils device-mapper-persistent-data lvm2
2.2 添加yum源配置
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.3 (可選)啟用邊緣和測試存儲庫
這些存儲庫包含在docker.repo上面的文件中,但默認情況下是禁用的。您可以將它們與穩定的存儲庫一起啟用。
# 啟動邊緣存儲庫 yum-config-manager --enable docker-ce-edge # 禁用邊緣存儲庫 yum-config-manager --disable docker-ce-edge # 啟動測試存儲庫 yum-config-manager --enable docker-ce-test # 禁用測試存儲庫 yum-config-manager --disable docker-ce-test
2.4 安裝docker
# 安裝最新的docker
yum install docker-ce -y
(在試驗的時候我們通常是安裝最新版本,可以用上面的命令直接安裝,但是在部署到生產環境時經常要求安裝制定版本的docker。)
# 列出可用的docker版本
yum list docker-ce --showduplicates |sort -r
其中有3列信息,第1列:軟件包名稱
第2列:版本字符串
第3列:倉庫名稱
# 安裝指定版本的docker
yum install -y docker-ce-<版本號>
例如:
yum install -y docker-ce-17.3.1
2.5 啟動docker
# 啟動
systemctl start docker
# 開機啟動
systemctl enable docker
2.6 開放2375端口
firewall-cmd --zone=public --permanent --add-port=2375/tcp
firewall-cmd --reload
2.7 試驗安裝是否成功
docker run hello-world
2.8 查看docker版本
docker version
2.9 設置鏡像加速器
牆的緣故,訪問docker hub不夠穩定,故需要設置鏡像加速器來解決這個問題。
這里使用的是阿里雲的鏡像加速器。
登錄阿里雲后,訪問https://cr.console.aliyun.com/#/accelerator
(registry-mirrors的值必須帶https:// (阿里雲的教程中只有域名),否則會出現docker重啟報錯的情況。)
三、部署shipyard
3.1 下載鏡像
docker pull dockerclub/shipyard
3.2 修改安裝腳本安裝中文鏡像
# 下載官方一鍵部署腳本
wget https://shipyard-project.com/deploy
# 替換Controller為中文版
sed -i 's/shipyard\/shipyard:latest/dockerclub\/shipyard:latest/g' deploy
3.3 修改端口(可選)
# 刪除(可能你已經安裝好了,想換個端口,先要刪除,修改配置文件后再安裝)
cat deploy | ACTION=remove bash
shipyard默認端口8080,如果8080有其他用途,則需要修改端口。假設需要加端口改為6000端口。
# 修改文件deploy
vim /root/deploy
修改下面的內容,wq保存。
SHIPYARD_PORT=${PORT:-6000}
3.4 安裝
sh deploy
由於我並沒有修改端口,故部署完后shipyard的頁面是8080
3.5 登錄
我服務搭在192.168.12.20,端口是默認配置,故訪問http://192.168.12.20:8080
賬號/密碼輸入admin/shipyard,點擊“登陸”。
參考資料:
1. https://docs.docker.com/engine/installation/linux/docker-ce/centos/#prerequisites
2. https://www.cnblogs.com/cainiaoit/p/6543326.html
3. 《spring cloud與Docker 微服務架構實戰》