基礎環境需要安裝docker(這里不做介紹)
自動安裝
使用自動部署Shell腳本
curl -sSL https://shipyard-project.com/deploy | bash -s
結果如下
[root@contract ~]# curl -sSL https://shipyard-project.com/deploy | bash -s
Deploying Shipyard
-> Starting Database
-> Starting Discovery
-> Starting Cert Volume
-> Starting Proxy
-> Starting Swarm Manager
-> Starting Swarm Agent
-> Starting Controller
Waiting for Shipyard on 10.2.2.11:8080
Shipyard available at http://10.2.2.11:8080
Username: admin Password: shipyard
不出問題的話就說明安裝完畢了,通過IP:8080 訪問
訪問界面
常見的錯誤
- 執行完自動部署腳本后發現容器名shipyard-rethinkdb被占用
[root@contract ~]# curl -sSL https://shipyard-project.com/deploy | bash -s
Deploying Shipyard
-> Starting Database
docker: Error response from daemon: Conflict. The container name "/shipyard-rethinkdb" is already in use by container "4168730dbc8cb055562965b1ee129047ad337158ff2593480fbf3b4088551024". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
解決方法:
刪除所有相關的容器即可。
docker stop $(docker ps -a- q)
docker rm $(docker ps -a -q)
這里由于我第一次安裝沒有其他容器,因此我是刪除了所有容器
- 啟動容器是報網絡錯誤
restartmanger wait error: driver failed programming external connectivity on endpoint shipyard-controller (5522daa5d553912455f36fef6abd42823230a6741f93593fc2b77e2cacb98031): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.3:8080 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1))
這是因為docker程序沒有在iptables里創建相應的鏈(chain),所以需要重啟iptables和docker的服務。
service iptables restart
service docker restart