- Portainer真是個好東西
-
terminator真是個好東西
如果環(huán)境已經(jīng)準備好了,那么5分鐘就能搭建完成一個帶dashboard的Docker swarm集群。
環(huán)境準備
- 操作系統(tǒng): ubuntu server 18.04
安裝軟件
安裝Docker
Docker最方便的安裝方式還是snap install docker;
然鵝snap在我們實驗室是真的慢,還是official apt source 靠譜
- 安裝一些添加apt源用到的小公舉。
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common - 添加docker官方apt源的GPG秘鑰。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - 添加docker官方apt源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" - 安裝docker
sudo apt-get install docker-ce - 將當前用戶加入docker組,以保證執(zhí)行權(quán)限
sudo usermod -a -G docker $USER - 退出terminal然后重新登錄以刷新groups;嫌麻煩可以relogin
sudo su - $USER - 最終結(jié)果
docker ps -a不再返回權(quán)限錯誤
PS: 如果你啟用了terminator的broadcast group功能,那么無論幾臺機子,這些命令cp一遍就夠了。
Docker Swarm
PS: 如果你啟用了terminator的broadcast group功能,請?zhí)粢粋€管理節(jié)點,把它踢出broadcast group。
- 管理節(jié)點:
docker swarm init --advertise-addr [管理節(jié)點IP地址]
此時swarm會告知你使用類似
docker swarm join --token [TOKEN] [管理節(jié)點IP地址]:2377的命令來添加worker - 因此其他節(jié)點cp該命令:
docker swarm join --token [SWARM返回的TOKEN] [管理節(jié)點IP地址]:2377
Portainer
管理節(jié)點:
a. 創(chuàng)建一個數(shù)據(jù)卷。
docker volume create portainer_data
b. 啟動portainer官方提供的容器。
docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
c. 部署portainer-agent
curl -L https://downloads.portainer.io/agent-stack.yml -o agent-stack.yml && docker stack deploy --compose-file=agent-stack.yml portainer-agent前往Web頁面
http://[管理節(jié)點ip地址]:9000/進行配置,在添加endpoint的時候選擇Agent,然后Endpoint URL為[管理節(jié)點ip地址]:9001,public ip為[管理節(jié)點地址]搞定,現(xiàn)在就可以開心地用web dashboard啟動一個容器,開心地去做hackpad的container了