部署PORTAINER
使用官方提供的Demo預(yù)覽一下
地址: http://demo.portainer.io/
一.單機(jī)部署PORTAINER
使用以下Docker命令部署Portainer:
[root@192 ~]# docker pull portainer/portainer
[root@192 ~]# docker volume create portainer_data
[root@192 ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
注意:關(guān)閉selinux虛擬機(jī)要重啟,不然報(bào)錯(cuò)
訪問網(wǎng)頁 http://IP:9000
二.在Swarm 集群中部署
注意:
要添加鏡像加速器,不然后面下載鏡像時(shí)可能會(huì)報(bào)錯(cuò)
[root@manager ~]# vim /etc/docker/daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
創(chuàng)建集群,下載基礎(chǔ)鏡像。集群中每個(gè)節(jié)點(diǎn)都要有portainer/agent鏡像
1.創(chuàng)建Docker Swarm 集群
[root@manager ~]# docker swarm init --advertise-addr 192.168.10.102
[root@localhost ~]# docker pull portainer/agent ## 下載代理鏡像
1.創(chuàng)建兩個(gè)網(wǎng)路
[root@localhost ~]# docker network create --driver overlay portainer_agent_network
[root@localhost ~]# docker network create --driver overlay my-network
○22 將代理部署為集群中的全局服務(wù) ##節(jié)點(diǎn)需重新下 portainer/agent
[root@manager ~]# docker service create --name portainer_agent --network portainer_agent_network --publish mode=host,target=9001,published=9001 -e AGENT_CLUSTER_ADDR=tasks.portainer_agent --mode global --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock portainer/agent
4zmiaajed7c6vc591hcrkkksl
overall progress: 3 out of 3 tasks
i3i9p03c6zo7: running
hzorsxqq5l42: running
21hha3mf1sao: running
verify: Service converged
[root@manager ~]# docker service ps portainer_agent ##查看狀態(tài)
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
n5smvf1mfs1y portainer_agent.21hha3mf1sao77g07tpxr12lp portainer/agent:latest 192.168.0.122 Running Running 9 minutes ago :9001->9001/tcp
p5h4caz91b1i portainer_agent.i3i9p03c6zo7guhhf31ng0zkd portainer/agent:latest 192.168.0.120 Running Running 9 minutes ago:9001->9001/tcp
87q0pzanti4q portainer_agent.hzorsxqq5l42feix3o23vk7cr portainer/agent:latest 192.168.0.126 Running Running 9 minutes ago *:9001->9001/tcp
3.Portainer 實(shí)例部署
○3 在集群中,創(chuàng)建單個(gè)Portainer 可視化工具容器,默認(rèn)端口9000
[root@localhost ~]# docker service create --name portainer --network portainer_agent_network --publish 9000:9000 --replicas=1 --constraint 'node.role == manager' portainer/portainer -H "tcp://tasks.portainer_agent:9001" --tlsskipverify
8ymzu530g699lnyj4bzx38me4
overall progress: 1 out of 1 tasks
1/1: running
verify: Service converged
瀏覽器訪問 http://IP:9000
○4 創(chuàng)建管理用戶
○5 添加被管理節(jié)點(diǎn)
uuz2q0qdet6sjee8rngi92bju
overall progress: 3 out of 3 tasks
1/3: running
2/3: running
3/3: running
verify: Service converged
在網(wǎng)頁中可以看到詳細(xì)信息
查看單個(gè)容器的系統(tǒng)資源
下載鏡像
基于下載的鏡像,創(chuàng)建httpd 服務(wù)
瀏覽器訪問http://IP:90 可看出通過Portainer成功創(chuàng)建了httpd 服務(wù)
7 . 創(chuàng)建并添加私有倉庫
[root@manager ~]# docker run -d -v /home/root/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
a7bf1601c3ebc28e1bff059638f0c9a7f602e525f55b1741f497026a56c33b31
編輯daemon.json文件,修改成私有倉庫地址,三臺(tái)主機(jī)上都要設(shè)置
[root@manager ~]# vim /etc/docker/daemon.json
{
"insecure-registries":["192.168.10.102:5000"]
}
[root@manager ~]# scp /etc/docker/daemon.json 192.168.10.103:/etc/docker/
[root@manager ~]# scp /etc/docker/daemon.json 192.168.10.104:/etc/docker/
注意:三臺(tái)節(jié)點(diǎn)上重啟Docker 時(shí),之前創(chuàng)建的Portainer和portainer_agent 服務(wù)將不能正常運(yùn)行。
這時(shí),需要在manager上刪除此服務(wù),在重新執(zhí)行○2--○5部
[root@manager ~]# systemctl restart docker ##三臺(tái)節(jié)點(diǎn)重啟docker
[root@manager ~]# docker service rm portainer
portainer
[root@manager ~]# docker service rm portainer_agent
portainer_agent
配置私有倉庫
創(chuàng)建私有倉庫
[root@manager ~]# docker pull httpd
將鏡像上傳到私有倉庫
為鏡像打標(biāo)
[root@manager ~]# docker tag httpd:latest 192.168.10.102:5000/httpd-test:2019-08-25
將鏡像上傳至私有倉庫
[root@manager ~]# docker push 192.168.10.102:5000/httpd-test:2019-08-25
The push refers to repository [192.168.10.102:5000/httpd-test] ##私有倉庫
9e0ab3afff15: Pushed
7a0960d9b679: Pushed
8b16516271d6: Pushed
5bcb93651a74: Pushed
1c95c77433e8: Pushed
2019-08-25: digest: sha256:90cca2f9c32ad25afa180da6b14f35de9990cb02b9007350a5bccef4cac1e1c9 size: 1367
創(chuàng)建httpd 的服務(wù)測(cè)試 (同上)
[root@manager ~]# docker service create --name httpd-test02 --network my-network --publish 8888:80 --replicas=3 192.168.10.102:5000/httpd-test:2019-08-25
wc31arswabmodsxhdqojrlvz9
overall progress: 3 out of 3 tasks
1/3: running
2/3: running
3/3: running
verify: Service converged
可以看到基于私有倉庫鏡像創(chuàng)建的任務(wù)已成功部署
注意:在創(chuàng)建容器時(shí),要改為私有倉庫的地址。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。